C語言的題目,執行x yz x 2 x 2,3,2後,x

2021-03-10 17:55:50 字數 972 閱讀 4117

1樓:

假設baix=y=z=5的話,那麼答案du確實是3系統首先執行y>z的判斷,為zhi假,dao0;故(y>z)?x+2:x-2將執行回後半答段x-2,即x=x-2,3,2。

然後執行賦值操作,故有x=3,後面的逗號表示式意味著編譯器將順序執行後面的**,並取最後一個運算式的值為表示式的最終值,故表示式的值為2,而x的值為3。

必須說明的是,這樣的寫法的可讀性非常差,平時寫**不要這樣寫。逗號表示式最常用的地方是做變數宣告或者函式宣告的時候,如int a,b,c;或者int ***(int a,int b);

我想這應該是2級的題目吧,出這種題目的人顯然是老學究。逗號運算子會上述兩種用法就夠了,c語言的具體的實現應該是編譯原理研究的東西。

2樓:匿名使用者

=2,因為逗號的優先順序最低。

寫出這種**的人該殺。

所以寫出這種**的人該殺,出這種題的人腦子有毛病。人不是編譯器一樓是正確的。

3樓:匿名使用者

y>z 假 選擇 x-2 表示式變成

x=(x-2),3,2

就是x=3,3,2

答案是3

4樓:棋疵

x,y,z開始是多少啊

「,」比等號優先順序低,感謝 chunqing286先y〉z假

再運算? :取x-2;

x=x-2,2,3;

,不參與x的運算

c語言題目:下列說明語句中正確的是 a.intx=y=z=0 b. int z =(x+y)++ c,x=+3==2 d, x%=2.5。

5樓:幽香自若

答案是c。

a、是定義變數的同時給變數賦初值,只允許對單個變數賦初值。即int x=0,y=0,z=0

b、自增自減運算子的運算元只允許是變數,不能是表示式d、求餘運算子運算元只允許是整型資料

在C語言中,執行mainint a 1,b 2,m 0,n 0,k k n bam a b printfd,d n ,k,m執行時警告

n b a m a b 由於這是或,也就是說只要 前面為真,後面就不會執行了。因此會有這樣的警告。與 邏輯或跟與 抄 有部完襲 全運算的,比如在左邊的表達bai式可以決定怎麼個du式子的值時zhi,右邊一個表示式講不在dao執行。例如 表示式1 表示式2 當表示式1等於1時,就不在計算表示式二,會警...

2在c語言中合法的字元常量是a, 2 在C語言中,合法的字元常量是( ) A 084 B x43 C ab D

a 084 非法,0開頭表示8進位制,8進位制沒有符號8b x43 合法 c ab 非法,兩個字元 d 0 非法,這是字串 字元常量bai是用單引號du括起來的一個字元。有兩種表示方zhi 法 一種是dao用該字元的回圖形符號,如 b y 另外還可以用答字元的ascii碼錶示,即用反斜符 開頭,後跟...

求橢球體x2a2y2b2z2c21的

v zhi dxdydz x從 a到daoa,y從 b到b,z從 c到c 另x x a,y y b,z z c,代入,得 v abc 內 dxdydz x從 1到1,y從 1到1,z從 1到1 dxdydz為半徑為1的球體體積容,等於 4 3 pi所以 v abc dxdydz 4 3 pi abc...