已知int i,a執行語句「i a 2 3,a 5 ,a 6」後,變數i的值是A 6 B 12 C 30 D

2021-05-24 01:43:11 字數 1214 閱讀 7608

1樓:多xdl點事

30。這裡考察的是c語言中運算子的優先順序,先執行括號的程式,然後執行逗號運算子,先執行a=2*3,再執行a*5,取右運算元,然後賦值給i,就是30。

**如下:

#include

int main()

程式執行結果:

擴充套件資料c語言中,逗號運算子確保運算元被順序地處理:先計算左邊的運算元,再計算右邊的運算元。右運算元的型別和值作為整個表示式的結果。

左運算元只是為了***需要而被計算,它其值會被丟棄。逗號運算子的優先順序是所有運算子中最低的。

2樓:匿名使用者

這個應該是選c。已經給你執行了,截圖了。你看看。

原因如下:先執行a=2*3,a=6,然後再a*5=30,注意此時有一個括號,說明前面這個逗號表示式的值為30.後面再接著一個逗號表示式。

因為賦值符號 =  的優先順序比逗號的高,所以直接把30賦值給了i。

如果把這題的括號去掉的話,結果就是6了。同樣根據優先順序的方法,i直接就等於a=2*3了。但是如果把題換成i=(a=2*3,a*5,a+6);後,答案就是12了。

根據逗號表示式的特點,就可以得出答案。

這題主要考優先順序關係。要學好c語言,這個一定要會哦。如果還不懂可以追問我哦。呵呵。逗號表示式的特點不知道的話可以去書上查下。

3樓:匿名使用者

選c 30,這個結果i=30,a=6。像這種並列逗號什麼的,賦值是取第一個的。

4樓:

30 c

首先a=2*3=6 然後a*5 =30i=30

我執行過程式了 沒錯的 ^ _ ^

5樓:卡卡斬

逗號表示式,括號裡從左到右,而且a的值是傳遞的。故為30

6樓:匿名使用者

12,因為,運算子是從左到右呀6+6=12

設有語句 int a=3 ; 則執行了語句 a+ = a * a後,變數a 的值是( ) a、3 b、0 c、9 d、12

7樓:匿名使用者

賦值運算是從右到左的上面的語句運算順序是:a-=a*a;a+=a;計算第一個後a的值是-6,再計算第二個,a的值就是-12

8樓:日出日落三十天

d a=3+3*3=12

已知int a,b執行語句a b 3 2,b 4 ,a 6後變數a的值為

根據運算子優先順序 條件運算子大於 賦值運算子,所以本題實際上是b a 3?2 1 因為a 3,所以a 3判定失敗,結果為1 所以b 1 按照優先bai級順序 1,先執行括號du 內的運算,且是從zhi左到右進dao行計算,所以括號結束後有回b 24,2,將b的值答賦給a 3,然後執行a 6,這裡僅...

6 已知int x 1,y執行下述語句後變數x的值是Byx5x10 A 1 B 2 C 3 D

你要明白 這個的含義以及執行機制,操作,首先計算它前面的表示式 如果前面的表示式滿足,則計算 後面的表示式看滿足否。如果前面的表示式不滿足,則絕對不可能執行後面的表示式。因此,上述題首先執行 x 5,發現 x後x 2 5,因此前面不滿足,那麼整個條件不滿足,因此不可能執行 x 10這個語句,因此x ...

設有語句int a3執行語句a a a a後,變數a的值是多少

既然樓主做這種題毫無頭緒,那以後就不要做了。在實際工作中寫出這樣 的人絕對會被bs的。3a 就是a加上後面的值卻不是個值還要計算 a a a就是a a a a 6 所以最後變成a 6就是a 6 3 3從右向左執行,首先執行 a a a a,a初始值為3,所以a 3 3 3 6 然後執行左邊的a 6,...