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 宣告時,已經預設新增...以下程式執行後的輸出結果是,有以下程式程式執行後的輸出結果是
以下程式執行後的輸出結果是,有以下程式 程式執行後的輸出結果是
以下程式執行後的輸出結果是