以下程式執行後的輸出結果是mainint a,b,c a 1 b 3 c 5 printfd,d na,b

2021-06-17 08:06:58 字數 3908 閱讀 1491

1樓:匿名使用者

結果是3,10啊。這主要是由於自增操作符++前置還是後置決定的,比如說++a,就是先自增再使用,而a++就是說先使用再自增。執行printf(“%d,%d\n”,(++a,b++),a+b+c)這條語句的過程中,a=2(就是說已經自增了),b=3(還沒自增)。

等這條語句執行完之後,那麼a=2 b=4~

2樓:在飛英塔玩三國志的香瓜

我執行了下,結果是3,10

#include

main()

這裡面的(++a,b++)是個逗號表示式,a++和b++都執行了但最後輸出b++的結果

所以a+b+c就是2+3+5

3樓:匿名使用者

如果你在下面再加一句printf(“%d,%d\n”,(++a,b++),a+b+c);a,b的值就會變。

而這樣的話應該printf函式對變數只讀一遍,就是在一個printf中a都是1了。

4樓:蘇格拉頂了

printf(“%d,%d\n”,(++a,b++),a+b+c);其中的(++a,b++)是什麼東東,有這麼寫的嗎?

++a 表示先a=a+1再輸出,b++表示先輸出再b=b+1

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

5樓:

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

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

6樓:睡不著想你了

答案是1,2,1

#include

main()

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

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

7樓:小特侖蘇的憂傷

我覺得答案是4,1,1

在比較a

8樓:陳世衝

1、2、0

做了兩次c--

以下程式執行後的輸出結果是??main(){ int a=10,b=20,c=(a%b<1)||(a/b>1);printf("%d%d%d\n",a,b,c);} 20

9樓:匿名使用者

#include

int main(int argc, const char *argv)

輸出結果是:10200

具體情況如下圖所示:

10樓:匿名使用者

結果是10 20 0

11樓:傑少多疾病

c=(a%b<1)先將a%b=10而10又》1,所以計算機的邏輯處理結果是0,c=0

以下程式的輸出結果是()main(){ int a=3,b=2,c=1;

12樓:莘振梅果琴

你把**這麼寫應該能看的清晰一點12

3456

78910

1112

1314

1516

1718

1920

21main()

13樓:匿名使用者

我測試出來的結果不是2,5,1,2,2,3, -2

14樓:小陸仁

我沒看明白 你宣告2個int b 是怎麼通過的

別弄的眼花繚亂了 讓人去看,我一看語法已經不對 了 就看不下去了

15樓:謊言一樣的誓言

我輸出的時18,而且我覺得也應該是18

++b之後b=3,b*=(a+b) b=b*(a+b)=3*(3+3)=18

16樓:匿名使用者

不對吧?第二個b應該是18啊

17樓:我是胡歌粉

c-=++b//b=3,c=c-(++b)=-2

b*=a+b//b=b*(a+b)=3

18樓:夏若樹森

題錯了吧,要想b=3先把題改一下,b*=a+c

b=3,是因為在c-=++b處,b自增了,++b//b=b+1=2+1=3

b*=a+c//b=b*(a+c)=3*(3-2)=3

以下程式的輸出結果是 main() { int a,b,c; int s,w,t; s=w=t=0; a=-1,b=3,c=3;

19樓:聽不清啊

程式最後的輸出語句有誤,其一,三個%d連在一起寫而中間沒有空位,會導致輸出連到一起;其二要輸出值的變數要寫在雙引號外面,寫到雙引號裡面會照 原樣輸出字母而不是變數的值。

如下修改後會輸出 :2 0 0

main()

else if(c>0)w=a-b; else t=c;

printf("%d %d %d",s,w,t);}

20樓:匿名使用者

為什麼不自己去電腦上試試呢?

c語言,以下程式執行後的輸出結果是

21樓:匿名使用者

c=(a+=a-=5)是一個

表示式,(a=b,b+3)是另一個表示式。

a=0,a=a-5=-5,a=a+a=(-5)+(-5)=-10,將值賦給c,c=-10,此時,a=-5

a=b,將b的值賦給a,a=0,執行b+3=0+3=3,這個3不對任何變數賦值。

因此最終結果a=0,b=0,c=-10

輸出a、b、c的值,輸出0,0,-10

分析以下程式的輸出結果是().main() {int a=5,b=-1,c; c=add(a,b);printf("%d",c)

22樓:匿名使用者

main()

int adds( int x,int y)整個計算過程是這樣的:

第一次呼叫adds(a,b);

n*=++m //m=1 n=n*1=3m=n%x+y++; // n%x+y++=n%x+y=3%5-1=2

return(m); //m=2,所以c=2,第一次結果為2第二次呼叫adds(a,b);

n*=++m //m=3 n=n*3=3*3=9m=n%x+y++; // n%x+y++=n%x+y=9%5-1=3

return(m); //m=3,所以c=3,第二次結果為3

以下程式執行後的輸出結果是?? main(){int a=3,b=4,c=5,t=99;if(b

23樓:匿名使用者

初始 a=3,b=4,c=5,t=99

第一個if語句b

此時a=5,c=99

第二個if語句a

t=b;b=a;a=t;

此時,a=4,b=5

最後輸出

4,5,99

24樓:匿名使用者

a=5,c=99 t=4 b=5 a=99

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

這個問題嘛,其實比較簡單。由於for迴圈裡面沒有趨近迴圈結束的語句,所以每次for迴圈都是要執行的。i 0時,兩個if都不成立,所以直接執行i 和s 1這兩句,使i 1 以此類推,i 2時,也是這樣執行,最後i 3i 3進入迴圈內的第乙個if語句判斷是成立的,所以執行continue,也就是跳出本次...

以下程式執行後的輸出結果是maininta,b

我執行了下復 結果是3,10 include main 這裡面制的 a,b 是個bai逗號表示式du,a 和b 都執行了但最後輸出zhib 的結果所以daoa b c就是2 3 5 如果你在下面再加一句printf d,d n a,b a b c a,b的值就會變。而這樣的話應該printf函式對變...

以下程式執行後的輸出結果是mainint x 20 printf

答案是1,0 因為根據算數優先順序從左到右進行運算 0 x 為真,真就是1,1 20也為真所以為1,然後下一條0 x為真就是1,x 20為假就是0,1與上0就是0 以下程式執行後的輸出結果是 main int x 10 printf d,d n x,x c語言函式引數處理順序 從右向左 printf...