有如下程式,有如下程式main0inty3,x3,z1printfddn,x,y,z2答案為什是

2021-03-03 21:05:45 字數 1814 閱讀 5681

1樓:匿名使用者

這是逗號

表示式bai的用法,在逗號表示式du中,總體的值是逗zhi號後面那個dao

式子值,比如a=(5,6),a的值應該是專6;

上面式子中(++x,y++)相當於y++,那個屬 printf語句其實跟printf(「%d %d\n」,y++,z+2)效果是一樣的.後面那個3就是1+2=3

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

2樓:polaris北斗

1. 3 3

2. d

3. b

4.a5.d

6.d7.b

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

3樓:醉人雙魚

3 3d

badd bb

b45y=8 x=204

4樓:匿名使用者

3 3d

badd bb

b4522 84

void main() { int x=0,y=5,z=3; while(z-->0&&++x<5)y=y-1; printf("%d,%d,%d\n",x,y,z); }

5樓:匿名使用者

首先while迴圈

第一次:(3-->0 && 1<5)滿足條件 y=y-1 y=4 x=1 z=2

第2次: (2-->0 && 2<5) 滿足條件 y=y-1 y=3 x=2 z=1

第3次: (1-->0 && 3<5) 滿足條件 y=y-1 y=2 x=3 z=0

第4次:(0-->0)改語句不滿足條件,只執行0-- 所以z=-1

最後輸出結果為3 2 -1

6樓:瞭望

1:while迴圈,不寫括號表示內容只有一行

2:++、--放在變數前面(++x),表示先對變數進行自增1運算,再將變數更新後的結果作為(++x)這個整體表示式的值;而++、--放在變數後面(z--),表示先將變數原來的值本身作為(z--)這個整體表示式的值,再對變數進行自減運算

3:邏輯&&的結合性自左向右(導致短路問題),如果寫成while(++x<5 && z-->0),那x就是4了。

7樓:匿名使用者

結果是3,2,-1

條件是 z-->0 和 ++x<5

其中x=0,z=3

++在前面則先

+1 再參與判斷 --在後面則先判斷操作 再-1如果符合條件 ++x<5 則要迴圈 4次

z-->0 則要迴圈3次

則 執行3次

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

8樓:刀下之狼

-1z-- 後減的值是不會變的,z--的值一直是3,所以z-->0一直成立

++x 前加的值是會變的,4<5,所以程式執行4次

z自減4次,為-1

9樓:匿名使用者

z,x,y

1:2,1,4

2:1,2,3

3:0,3,2

4:-1,4,1

z最後是-1,當z為-1時中斷迴圈,我知道你以為z--開始的值是3,才會有誤會。 迴圈執行3次就中斷了

10樓:為愛而戰

3,2,0 當z=1時 由於 1>0成立 所以進入迴圈 此時z--, z變成0 在z--變成-1,調出迴圈 迴圈了三次,x=3,y=2,z=-1.

1有如下程式,該程式的輸出結果是main

int main i,j,s 0 for i 1 i 3 i for j 0 j i j s a i j printf d n s a 2 2 沒賦值為0 include void main i,j,s 0 for i 1 i 3 i for j 0 j printf d n s 執行結果14 以下...

c語言程式程式main如下charccabcc

char cc,a,b cc a a的ascii碼值 65 賦值給變數cc a cc 32 將a的ascii碼值 65加上32後得小寫字母 a 的ascii碼值 b cc 32 是邏輯或運算,兩邊只要有一個為0則結果得0,兩邊都不為0,結果得1.此時b 1 printf c d n a,b 輸出 變...

設有如下定義 char aa 2abcdABCD則以下說法中正確

正確答案是c。因為aa陣列本身就是指向字元的指標陣列。應該選d 這種定義方式 char aa 2 定義的是一個指標陣列,陣列的成員是字元指標。在這裡,陣列中的兩個字元指標,分別指向了常量字串 abcd 和 abcd 換句話說,這兩個指標的值就是這兩個字串的首地址。a.陣列中元素的值不是字串,而是字串...