下列程式執行後的輸出結果是

時間 2022-07-07 05:55:12

1樓:手機使用者

1-3dowhile()型,必定執行一次,所以第一次迴圈,一定會進入這時 printf("%2d",a-=3);

等價於 a=a-3; //(因為a初值為4,所以a=1)

printf("%2d",a) //輸出1while(!(--a));等價 while(!(a-1)); 等價 while(!

(0);因為!0的值為"true" 所以再迴圈1次

a=a-3;等價 a=0-3; 所以 a=-3;

因此又輸出一個"-3"

因為printf中沒有用到換行符"\n" 所以 1 和 -3 是連著的

所以結果是 1-3

(1前面是有一個空格的)

因為是%2d 不足2位 前面有空格補足

2樓:匿名使用者

巨集只是簡單的字串替換,

所以 printf("%d\n",s(i+j))輸出的s(i+j)之後變成了4*6+8*6+8+1。因此結果是81。

正確的巨集定義都是給變數加上括號的,就是為了避免這種問題。

比如:#define s(x) 4*(x)*(x)+1看看這個例子

# include

#define s(x) 4*x*x+1

void main()

執行結果:

78581

press any key to continue

下列程式段執行後的輸出結果是什麼,為什麼

特意經過 1 3dowhile 型,必定執行一次,所以第一次迴圈,一定會進入這時 printf 2d a 3 等價於 a a 3 因為a初值為4,所以a 1 printf 2d a 輸出1while a 等價 while a 1 等價 while 0 因為 0的值為 true 所以再迴圈1次 a a...

有以下程式,程式執行後輸出結果是include《stdio h》mainint i,n 0 for i

尾爽巴澤 結果是31,因為你的程式裡面case 後面都沒有break語句跳出,所以會依次執行下去,知道迴圈結束,具體來說就是當i 1的時候先執行case1,在執行case2,在執行default 此時a 8 然後執行i i 2,然後執行case2,在執行default 此時a先加3在加5就等於16,...

C語言,下列程式的輸出結果是

1全部賦值語句的返回值是所賦的值,因此形如a b 10才能滿足我們所期望的結果。由於int a 7,b 5 那麼b a就是整除運算 b 5小於7 所以b a 0 那麼b b a的值自然也是0 printf d n b b a 當然就輸出0 int 型別 計算結果 直接捨棄小數 a 7,b 5 b a...