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樓:
結果如下
1-3 (1前面為1空格)a-=3即a=a-3=1
所以第一次列印一個3,由於指定輸出寬度為2(%2d),前面將加一個空格
第一次迴圈結束時,a=1,--a=0,此時a=0,!(--a)即為真,進入第二次迴圈
a=a-3=-3,列印-3(剛好寬度為2)--a=-4,非零整數值均為真值,此時a=-4,!(--a)即為假,跳出迴圈
3樓:飛天飛舞
1 -3 首先a=4執行一次,a=1;輸出
然後dowhile迴圈,輸出a=-3,然後條件為假,跳出迴圈
下列程式執行後的輸出結果是
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 14時執行do while迴圈 由於開始時對a賦值10,所以輸出a 10,y 0 堵丹彤牟萱 輸出為 a 16 y 60,分析如下 main while a 14 這裡的迴圈條件不是判斷是否滿足a等於14,而是一個賦值語句,每次執行到這裡都會將14賦值給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,...