下列程式執行的結果是a 1 b 2 c 3 while bact a a b b t cprintfd,d,da,b,c

2021-03-21 12:07:35 字數 2357 閱讀 8532

1樓:匿名使用者

先普及下在c/c++中false即為0,true即為1b果為假。。即false(0)

然後b進行比較.即0<3,結果為真,進到裡面的處理不說了,結果變為a=2,b=1,c=2

再進行while裡面的判斷,同上判斷,結果a=1,b=2,c=1再進行while裡面的判斷,同上判斷,結果a=2,b=1,c=0

2樓:杭曼文星嬪

第一次比較結果2,1,2,第二次結果1,2,1,結束。vc6.0的執行結果。

這個本身是錯的,要寫成while(a>b&&b>c).

3樓:枝寰溥蔓

先說條件:a

然後說下c語言邏輯值的表示:真為1,假為0。所以a最後t=a;a=b;b=t;是實現兩個數相互交換的典型,所以a=2,b=1,而c--結果為2

所以最後輸出結果為2,1,2.

4樓:匿名使用者

判斷b; 再去判斷while,一直到while為假。既a=1,b=2.c=1時(最初迴圈3次後),a,b互換,c--;不滿足迴圈條件跳出迴圈並輸出結果。

5樓:匿名使用者

程式執行過程是這樣的:迴圈了兩次,a、b交換了兩次,ab交換後沒有變化,而c減了兩次,結果變為0.

以下程式的執行結果是()#includemain() {int a=1 ,b=2,c=3,t=4; while (a

6樓:

答案應該是121,第一次執行,a=2,b=1,c=2時a<b<c相當於2<1<2

當2<1時不成立為0,0<2成立為1,繼續執行大括號,結果為121

7樓:睡不著想你了

答案是1,2,1

#include

main()

printf("%d,%d,%d",a,b,c);

}這個程式的難點在於while (a

8樓:小特侖蘇的憂傷

我覺得答案是4,1,1

在比較a

9樓:陳世衝

1、2、0

做了兩次c--

int a=1,b=2,c=2,t; while(a

10樓:csbtby糾結

首先看a再把a!!!

第一次迴圈a版為1,然後1環的條件權成立 那麼執行迴圈體後a=2,b=1,c=1;

第二次迴圈a

第三次迴圈a

11樓:匿名使用者

abai是1,1也為

true(c=2),

du所以第一次

zhiwhile的值為dao1,執行

之後內,a=2, b=1, c=1,繼續進行while判斷a容while的值也為1,執行

之後,a=1,b=2,c=0

此時while判斷:a

所以輸出為1,2,0

12樓:匿名使用者

你應該是把 a < b < c 理解錯了,應該理解為 (a < b) < c 即 (a < b ? 1 : 0) < c

#include"stdio.h" main() { int a=1,b=2,c=3,t; while(a

13樓:遺落的舊夢

你的 a有警告說這樣不安全。

#include"stdio.h"

main()

printf("%d,%d,%d",a,b,c);}

14樓:紳士與狗

你的迴圈執行了兩次!

while(a

while(a

達式312的計算結果是若a1b2c

第一個表示式的結果是3,本來是1 2 0.5,但由於是整型數除以整型數,所以1 2 0 a b為0,由於是與關係,所以後面的c 就沒有執行,c還是3 兄弟,你這自是c語言的題嗎?如果是的話,第一個空為3,第二個空為3 第一個空解答 1 2,因為1和2皆為整數,所謂1 2的結果為0第二個空解答 運算有...

c語言 下列程式執行後的輸出結果是1為什麼

36 輸出 1 x 0xffff 如果用十六進位制表示的話,數前面要加0x以表示是十六進位制。ffff用二進位制表示就是16個1,1111111111111111,轉換成十進位制就是2 16 1,即65535。因為int型資料範圍是 32767 32768,二進位制在計算機中表示時,第一位是符號位 ...

C語言以下程式的執行結果是

答案錯誤。應該11。或者 有誤。void main if j 2 0 j 10,所以滿足條件,執行j 20後,j 200。繼續迴圈。printf d n i 最終結束迴圈的條件是i 1000,故i輸出為1001,與j無關 i 10,j 10 j 200,i 11 程式結束 怎麼會是1001?是11啊...