1以下程式的執行結果是mainintc

2021-03-04 05:44:46 字數 3302 閱讀 4532

1樓:小魚

2 1 1

因為這是短路邏輯,c=x++||y++,x++的值是1,所以||右側的運算就不再進行了,y++等於沒有執行,還是1。

2樓:陽光xl不鏽

這是考察符號優先順序的

在c語言中 ++ 的優先順序高於 || ,|| 優先順序高於 =

所以運算時先計算x++和y++ 可以知道x=2,y=2接著運算x++||y++為1,所以c=1

x,y,c輸出為 221

上面那個回答錯了

1.有如下程式,執行該程式的輸出結果是 main() { int y=3,x=3,z

3樓:polaris北斗

1. 3 3

2. d

3. b

4.a5.d

6.d7.b

8.b9.對某些c語言編譯器,c和d都是對的,如果只有乙個正確答案那應該是d

4樓:醉人雙魚

3 3d

badd  bb

b45y=8 x=204

5樓:匿名使用者

3 3d

badd  bb

b4522 84

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

6樓:匿名使用者

main()

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

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

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

7樓:匿名使用者

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

#include

main()

else

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

}答案選a

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

8樓:匿名使用者

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

9樓:匿名使用者

main( )

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

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

du2 ,然zhi

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

10樓:匿名使用者

結果是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,

11樓:匿名使用者

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

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

if(x

if(y<0)

z=0;

else z+=1;

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

12樓:薯片與可樂

main( )

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

if(x這樣比較清楚。

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

以下程式的輸出結果是 main( ) { int x=10,y=10,i; for(i=0;x > 8;y=++i) printf("%d,%d ",x--,y)

13樓:匿名使用者

d、10 10 9 1

第一次執行

for(i=0;x > 8;y=++i) // 此時x = 10, 這句y=++i要迴圈體執行完後執行,即執行完printf後,在執行到for時。

printf("%d,%d ",x--,y); // 先輸出後計算,所以輸出10,10,之後x執行減一,x=9.

第二次執行

for(i=0;x > 8;y=++i) // 此時x=9,i=1,y=1,

printf("%d,%d ",x--,y); // x=9,y=1輸出9,1,結束後x=8.

第二次執行

for(i=0;x > 8;y=++i) //由於x=8,不滿足條件所以退出迴圈。

14樓:畢戈夫斯基

我簡單的分析下:

x,y 均初始化為10,

第一次迴圈, i=0; (x=10)>8; y=1 輸出10, 1;

第二次迴圈,i=1; (x=9)>8; y=2; 輸出9, 2;

第三次(x=8)>8 不成立, 退出;

此題考察你 ++ 運算子,

x++ : 先運算x, 再+1;

++x : 先+1, 再運算x;

-- 運算子同理;

(另外說一句, 以後提問最好給分, 一般沒人會高興回答的)

15樓:**ile未名湖

d、10 10 9 1 我補充一點 y出現過2次 y=10,y=++i 這是c函式變數作用域 外層**塊的變數總是有效的,除非內層的**對該變數名進行了重新定義,如果內層**對外層**塊中的變數名進行了重新定義,那麼在此內層**塊中,外層**塊的變數就被隱藏

下列程式的輸入結果是 main() {int x=1,a=0,b=0; switch(x){case 0:b++; case 1:a++; case 2:a++;b++; }

16樓:匿名使用者

這個例子告訴你switch語句不用break時的***。這幾個case會依次往下執行,結果如你如說。

17樓:

#include

void main()

printf("%d,%d\n",a,b); //所以輸出 2,1}

18樓:匿名使用者

switch(x)

x=1跳到case 1:a++;

case 2:前面沒用break;所以繼續a++;b++;

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

題目寫錯了吧?你確定第二個case是case 10?我覺得應該是case 1吧?第一次迴圈 i 9,i 10 0,執行case 0,此時m 1,n 1 第二次迴圈 i 10,i 10 1,執行case 1,此時m 1,n 2 第三次迴圈 i 11,i 10 1,執行case 1,此時m 1,n 3 ...

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

會顯示 yes 不知 if c a b 是否bai題目中所寫要判斷duc是不是等zhi於a b的話 應該是if c a b 這樣才會dao顯示no 而你寫內的程式裡面if c a b 代表將容a b的之賦給c,然後輸出yes 希望能幫助你 程式執行後的輸出結果是 no 有以下程式 程式執行後的輸出結...

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

for i 0 i 3 i 的作用是把x 3 4 初始化成,而 for i 0 i 3 i 輸出的其實是 x 0 0 x 1 1 x 2 2 是取位址符,所以輸出型別變為char的指標,而結果就是從當前位址開始,輸出其後的字元,直到 0 結束符為止,而 0 結束符在字串 abc 宣告時,已經預設新增...