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

2021-06-17 08:04:54 字數 743 閱讀 7728

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,然後條件為假,跳出迴圈

3下列程式段執行後的輸出結果是,3 下列程式段執行後的輸出結果是 。 char ch abc ,x 3 4 int i for i 0 i 3 i strc

for i 0 i 3 i strcpy x i ch 此句把ch的值賦給x 3 4 x 3 4 的值為 a,b,c,0a,b,c,0 a,b,c,0 for i 0 i 輸出 s遇到 0則結束。i 0 從x 0 0 開始 輸出abc遇到 0結束 以此類推 i 1 從x 1 1 開始 輸出是bc i...

c語言下面程式段執行完成後的輸出結果是

輸出 2 x 2是賦值語句,成立,執行printf,因為是x 所以先輸出x,x再自加,故答案是c 下述程式段的輸出結果是 int x 10 int y x printf d,d x y y 答案是 11,10 先放張圖,規律bai很容易看出來吧 du首先,逗號 zhi運算子是 dao取右邊 這裡涉及...

下面程式輸出的結果是,下面程式輸出的結果是()。 main int i int a

從第2組開始,取到第0組 從第0個開始,取到第2個。所以是 7 5 3選b b 7 5 3 i 0 a 2 i i a 2 0 7.馬上可以確定答案是b了.i 1 a 1 1 5 i 2 a 0 2 3 1.有如下程式,該程式的輸出結果是 main int a 3 3 1,2 3,4 5,6 5 i...