以下程式的輸出為mainint a 20,b 30,c 40i

2021-03-12 18:49:03 字數 2931 閱讀 1203

1樓:匿名使用者

#include

void main()

[willie@bogon desktop]$ gcc yunsuan.c -o yunsuan.o

[willie@bogon desktop]$ ./yunsuan.o

a=20,b=30,c=20

答案:如果第4行,a=b後面是逗號,的話,選版a;權

如果第4行,a=b後面是分號;的話,選a;

2樓:匿名使用者

選b. a=20,b=40,c=20

以下程式的輸出結果是 main() { int a=21,b=11; printf("%d\n",- -a+b,- -b+a); } 求解,萬分感謝

3樓:匿名使用者

輸出結果:30

原理:1.c語言的執行順序大多都是自右向左(但是少數c語言編譯軟體內的輸出結容果為31,它的執行順序是自左向右,這裡以vc++ 6.0為例說明輸出30的原因)。

2.先執行--b+a,根據運算順序知道相當於(--b)+a,b先自減,即b=10,此表示式--b+a的值為31.

3.然後執行- -a+b,相當於(--a)+b,a先自減,即a=20,此表示式- -a+b的值20+10=30。

4.printf("%d\n",- -a+b,- -b+a); 輸出第一個表示式的值,(printf函式輸出順序是自左向右)。

4樓:匿名使用者

printf 為什麼引數裡bai只有一個%d ??後面卻有兩du個變數??

如果zhi

是printf("%d\n%d",- -a+b,- -b+a)的話dao輸出應該是

3031

系統先執行了 --b+a的,版所以--b+a=31;

然後權再執行 --a+b,那時候b已經被減1了,所以--a+b=30。

5樓:

先生bai 為什麼引數列表有兩個du

而你的佔位符

zhi只有一個dao %d

如果你手誤的話那麼有兩個專佔屬位符 答案是 3031

6樓:樂樂等待花開

- -a+b即為(--a)先計算得20,然後接著計算(--a)+b為20+11+31;

--b+a即為(--b)先計算得10,然後接著計算(--b)+a為10+20=30;

7樓:匿名使用者

錯誤,沒有結果,warning: operation on 『a』,'b' may be undefined

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

8樓:莘振梅果琴

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

3456

78910

1112

1314

1516

1718

1920

21main()

9樓:匿名使用者

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

10樓:小陸仁

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

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

11樓:謊言一樣的誓言

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

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

12樓:匿名使用者

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

13樓:我是胡歌粉

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

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

14樓:夏若樹森

題錯了吧,要想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=0,b=1,c=0,d=20; i

15樓:匿名使用者

25a=0所以不滿足條件

!b非1自然就是0所以依然不滿足

所以直接就等於25

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

16樓:匿名使用者

輸出a=10,b=20,因為=(賦值運算子)比||邏輯或運算子優先順序低,所以c最後被判斷為0

所以輸出為:10200

我自己想的 如有錯 ,請莫怪哈

17樓:匿名使用者

c的值是表示式(a%b<1)||(a/b>1)的值,(a%b)是取餘運算,結果為10,(a/b)是整除運算,結果為0,所以表示式的值為0 , 即c=0;

執行結果也為 10 20 0

18樓:匿名使用者

linux執行結果是10200。

19樓:匿名使用者

10200

10 a

20 b

0 c a%b<1 = false, a/b>1=false, c = false,false = 0.

20樓:匿名使用者

#include

int main(int argc, const char *argv)

輸出結果是:

10200

具體情況如下圖所示:

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

結果是3,10啊。這主要是由於自增操作符 前置還是後置決定的,比如說 a,就是先自增再使用,而a 就是說先使用再自增。執行printf d,d n a,b a b c 這條語句的過程中,a 2 就是說已經自增了 b 3 還沒自增 等這條語句執行完之後,那麼a 2 b 4 我執行了下,結果是3,10 ...

以下程式的輸出結果fintbintm,int

程式zhi 是不是這樣 include int f int b int m,int n return s int main x f a,3,7 printf d n x return 0 執行如下 i 3時 專s 0 a 3 4 i 5時 s 4 a 5 4 6 10。結果為屬10。如果程式為f i...

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

加上 你就非copy常容bai易明白 main else 恩,是2啊。c語言規定,如果if後面沒有 那就只包括if後面的那條語句內,但由於這道題if後面還是if else語句 他們是一條語容句 所以相當於 main printf d n d 第一個if條件就不符合了,所以直接執行最後的輸出語句,所以...