以下程式片段mainint x 0,y 0,z 0 if x y z printfelse printf

2021-04-12 07:22:05 字數 2818 閱讀 5555

1樓:手機使用者

因為x=y+z是賦值語句,所以if (x=y+z)相當於if (x),因為x的值為y+z=0,所以x=0為假值,所以輸出###

2樓:匿名使用者

答案是b

因為c語言中"="是賦值號;if(x=y+z)是計算出y+z的值然後賦值給x,這個式子是永遠成內

立的,所以會輸出***;

如果說容要改錯的話,應該改為if(x==y+z),構成邏輯表示式後,才符合程式設計的初衷。

3樓:匿名使用者

選 b因為x=y+z為真,程式會一直執行 printf(「***」);

4樓:mxj抹香鯨

答案應該是a,因為:(x=y+z),y+z=0:x=0;0=0,該語句是真,所以執行第乙個,所以輸出「***」,自己可以寫一下這個程式

以下程式的輸出結果是(a)。 main() { int x=0,y=1,z=2; if

5樓:匿名使用者

main()

//因為x件 花括號內所以不執行

else z-=1; //執行else z=z-1 所以z=2-1=1

printf(「%d\n」,z);}

6樓:匿名使用者

把**整理一下就比較清楚了,看注釋

#include

main()

else

printf("%d\n",z);    /*這裡輸出z的值就是1*/

}答案選a

main() { int x=3,y=0,z=0; if(x=y+z) printf("****"); else printf("####"); } 的輸出結果是多少?

7樓:匿名使用者

main() 的輸出結果是多少?

if裡面的東西是x=y+z這個是先執行y+z然後賦給x然後判斷x的值真還專是假,這裡x會變成0是假的屬,所以執行的是第二句輸出好多#######

8樓:匿名使用者

此題目分析如下:

主要是if語句的判斷,x = y+z後,x為0,該條語句的結果也就是0,於是條件判斷失敗,執行else,所以結果為:####

9樓:匿名使用者

####

你的if裡面是x=y+z,是賦值而不是x是否等於y+z。

按你真正意思應該是 if(x==y+z) 吧?

10樓:匿名使用者

語句錯誤 if (x==y+z)才是條件 或者你可以加個迴圈 for(i=0,i<=3,i++) if(x==y+z)..................... .

19.以下程式的輸出結果是 main( ) {int x=2,y=-1,z=2; if(x

11樓:匿名使用者

你的問題就是在else到底和誰配對,,,告訴你吧:。。。。「else總是跟它最接近的if配對」。。。 受人以魚還不如授之以漁。。。。。

12樓:匿名使用者

main( )

{int x=2,y=-1,z=2;

if(x因為剛開始你給baiz賦值的是

du2 ,然zhi

後在dao實現else語句,z自加專1,所以如果輸出的屬是z的話好像是3吧!

13樓:匿名使用者

結果是z=2;

分析bai:關鍵du是看else與哪個if配對;由於else最靠近zhi第二dao個if,所以內是與第二個if配對的(就近原則),也就是第

容乙個if沒有else,從整個程式來說,先判斷第乙個if語句,因為x>y,所以不執行第乙個if裡面的所有語句(也就是不執行這兩個語句:if(y<0) z=0; else z+=1;),也就是z沒有變,依舊是2,

14樓:匿名使用者

以下程式的輸出結果是 main( )

{int x=2,y=-1,z=2;

if(x

if(y<0)

z=0;

else z+=1;

x=2,y=-1,z=3

15樓:薯片與可樂

main( )

{int x=2,y=-1,z=2;

if(x這樣比較清楚。

如果輸出回z的話,就是答2.

c語言中 main() {int x=1,y=1,z=0; if(z<0) if(y>0) x=3;

16樓:

z=y<0是先判斷y<0,此表示式值為0,即賦值z=0,然後表示式的值作為if判斷條件,它是0,自然不成立了,於是往下執行if(y==0) 這裡也不成立,再往下else執行了x=7,於是輸出7了

17樓:匿名使用者

是你說的那麼判斷的,但結果也是7。

先判斷y<0 結果是假, 所以賦值z=0,返回z的值0 判斷語句為假,執行else if (y==0)

y==0 為假 執行 else x=7

18樓:匿名使用者

你自己不是解答了麼。

y<0 判斷得0;

即返回false;

這條if語句就不執行了,轉而執行下面的語句;

當判斷y==0時,返回false,結束else if語句;

所以 x 最終為7;

以下程式執行後的輸出結果是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...

執行以下程式後,輸出的結果是mainint y 10 do ywhileyprintfd n ,y

雨落巴黎塔 選ddo while語句 先執行do裡面的迴圈體,再去判斷while條件是否成立,如果成立,一直執行下去,直到不成立終止迴圈 選d.c語言書上寫有,do 語句 while 表示式 其中語句是迴圈體,先執行後判斷,先執行一次指定的迴圈體語句,然後判別表示式,當表示式的值為非零 真 時,返回...