1樓:匿名使用者
第1題 b
a選項,例:
void f()
int j;
int main()
很明顯 全域性變數j的作用域僅限於main函式區域性變數i作用域為f函式,但main函式中未使用j,實際上j的作用域為無。
c選項 函式的形參都是區域性變數
d選項 auto變數只有呼叫的時候才賦值,呼叫結束就釋放,所以無初值
static變數是靜態變數,程式啟動時就在全域性區分配了空間,而且被初始化為0或者空(null)
第2題 結果是 7
#define max(x,y) (x)>(y)?(x):(y)巨集定義,編譯的時候是直接替換,
t=max(5+2,3+3)*10等效於
t=(5+2)>(3+3)?(5+2):(3+3)*10=> t=7>6?7:60
結果為 7
第3題 結果是 4
int m=10; 定義全域性變數m;
int m=5; 定義了一個區域性變數m,作用域僅在f函式內部兩個m變數地址不同,互不干涉,所以f(6,7)的結果是47,47/10 的結果取整為4。
第4題 結果是 579
static int c=3;定義的是一個靜態變數,它僅在宣告時被首次初始化,即以後的函式
呼叫不再進行初始化,
第一次迴圈f(0)中c的值為4,a+b+c等效於0+1+4=5;
第二次迴圈f(1) 中c的值為5,a+b+c等效於1+1+5=7;
第三次迴圈f(2) 中c的值為6,a+b+c等效於2+1+6=9;
第5題 結果是 2
#define select(a,b) a
printf(“%d\n”,select(2,4))等效於printf(“%d\n”,2<4?2:4);其結果為 2.
2樓:愛豬豬的灰灰
先發前兩題,剩下的等會寫
C語言問題求答案,c語言問題 求答案
你這個問題問的真是太好了,簡直是前無古人後無來者。這題有神經病可以答的出來,正常人都無法給你準確的答案,建議你去醫院看看。c語言問題 求答案 聽不清啊 include void confab const char int,int s,char outt else if int i a int i z...
求詳解c語言題目,求詳解c語言題目
7.簡單,c 8。題目不全 9.b,sizeof不是一個函式,是一個關鍵字。在編譯器會為常量 10.c 2b即2 16 0 65535 11,d,double型別。c語言有隱式型別提升char short int float double,對於型別有疑惑的問題,最簡單的驗證方法是寫一段 用sizeo...
c語言一道題 求詳解,C語言一道題 求詳解!
已知字母a的ascii十進位制 為97 char a a a a 也就是97a 這時候a a 1 96 printf d,c n a 2 0 a 3 0 d,c n 按照整型 d 和字元型 c 輸出a 2 0 和a 3 0 2 0 2,3 0 3 a 2 96 2 98 a 3 96 3 97 2 ...