x 8 2,x 4 ,x 2整個表示式的值是多少

2023-02-08 07:05:29 字數 4813 閱讀 8413

1樓:湛藍水晶

128不對呀。

(x=8*2,x*4),x*2

先執行x=8*2後x=16,後面那個x*4純粹是迷惑人的,值被丟棄掉了。

然後逗號表示式取最右邊的值為表示式的值,即x*2,值為32。

2樓:匿名使用者

#include

void main()

結果為:

1664

3264

在(x=8*2,x*4),x*2裡是先執行x=8*2,然後再x=x*4。後面的不執行。

在((x=8*2,x*4),x*2)裡是執行x=8*2,忽略掉x*4。再執行x=x*2。

3樓:生寸過

(x=8*2,x*4)先看這個,可以看成是給x賦值的表示式,而逗號表示式的值是決定於後一個表示式的,因為x=16*4=64,有了x的值就容易得到整個表示式的值了,同上理,整個也是一個逗號表示式,因此表示式的值為x*2=64*2=128

4樓:未折才氣艱難

y=(x=8*2,x*4),x*2 ;

//y=64,x*2其實是無用的

y=((x=8*2,x*4),x*2) ;

//y=32

5樓:黑格dd斯基

yjz521 正解!

c語言。表示式的值「(x=2*5,x-3),x*4「的值怎沒求

6樓:匿名使用者

逗號表示式,例如:y=(x=2*5,x-3),x*4;則先計算x=2*5,x=10;接著計算 y=(10,7),40;

逗號表示式只取最後一個資料,所以y=7;

假如加一個括號是另外一個情況:

y=((x=2*5,x-3),x*4);則先計算x=2*5,x=10;接著計算 y=((10,7),40);

逗號表示式只取最後一個資料,所以y=40;

7樓:匿名使用者

40首先x=10,表示式是x*4的值,所以是40

8樓:匿名使用者

不好意思,沒看懂題目的意思...

複合賦值運算子的使用,比如a+=b等價於a=a+b,那麼x=4,則x*=x+2的值是多少?【c語言】

9樓:匿名使用者

x = 4;

x *= x + 2;

x = x * (x + 2)

x = 4 *  (4 + 2)

x = 24;

x = 7;

x -= x + x;

x = x - (x + x);

x = 7 - (7 + 7);

x = -7;

純手打併

且驗證了。

10樓:匿名使用者

x*=x+2 x=x*(x+2) x=4*(4+2)

x=7 x-=x+x x=x-(x+x) x=7-(7+7)

c++: 表示式(x=4*5,x*5),x+25的值是啥,怎麼計算

11樓:灬臨歧灬

答案應該是45吧,題目的意思應該是要轉換成y=((x=4*5,x*5),x+25)求其值,都知道逗號運算是從左到右依次執行,且最後的值是取最右邊的運算關係,首先執行的是x=20,然後執行20*5(其實這條對x和y都沒有影響),之後是執行20+25,所以結果就是45了!

12樓:匿名使用者

我就納悶 你們會做題不 不知道你們在這誤人子弟為了什麼執行順序:先執行x=4*5 賦值語句 x變為20然後繼續執行x*5 x的值沒有發生改變 但是整個表示式的值已經發生改變

(逗號表示式裡面全部執行一遍從左到右 整個表示式的值取最後一個就是x*5)

所以整個表示式的值為100 如果 第二局改為x*6 這個表示式的結果就是120

需要注意的是 這道題並不是逗號表示式的巢狀

13樓:慕容冰綃

逗號表示式,從左往右計算,先算第一個,x=20,再算x*5,但是沒有改變x的值,再算x+25,還是沒有改變x的值,所以x最終還是20.。如果有a=(x=4*5,x*5),x+25;那麼a的值將是後面式子的最後一個的計算結果,即x+25,即45

14樓:可樂要加冰呀咦

他們應該不是一個整體,是兩個不同的吧

給你用一個表示式

然後問x+5值是多少

書上答案是45不是100

15樓:匿名使用者

逗號表示式的值為式子(x+25)的值

c語言中int x=2;2*x,x+=2語句的結果為什麼是4

16樓:匿名使用者

c 語言中,逗號(,)也可以是運算子,稱為逗號運算子(comma operator)。逗號運算子可以把兩個以上(包含兩個)的表示式連線成一個表示式,稱為逗號表示式。其一般形式為:

子表示式1, 子表示式2, ..., 子表示式n例如:2*x,x+=2

逗號運算子的優先順序是所有運算子中級別最低的,通常配合 for 迴圈使用。逗號表示式最右邊的子表示式的值即為逗號表示式的值。上例中,x+=2的值即為該表示式的值。

逗號運算子保證左邊的子表示式運算結束後才進行右邊的子表示式的運算。也就是說,逗號運算子是一個序列點,其左邊所有***都結束後,才對其右邊的子表示式進行運算。

17樓:_葉子妞妞

2*x,x+=2

這個是逗號表示式

前一個2*x沒有意義

計算的是

x+=2

於是結果x=4

而逗號表示式是最右的一個值,所以 表示式的值也是4 。

18樓:來自大遊山胸懷大志的天鵝

因為沒有賦值

2*x=4沒有賦值給x,所以下一個運算裡x還是等於2

輸出x+=2 2+2=4

設int x,y;則執行y=(x=1,++x,x+2);語句後,y的值是多少?答案是4,怎麼看的?

19樓:繆立軍

括號中是逗號表示式,逗號表示式一直計算直至遇到分號,返回最後一個表示式的值

先計算x=1,即給x賦值

再計算++x;此時x=2;

後x+2,值為4,遇到分號,將這個值返回,賦給y,則y為4

20樓:

逗號運算子取最後一個表示式的值為最終的值,逗號運算子按從左至右的順序執行。

所以,先執行x=1,再執行x++,x變成2,再執行x+2,最後這個表示式的值就是22=4,這個值就作為最終的值賦給y。

21樓:羅興梅闖天涯

rt45te4rg454

c++中x=2,x*=(x++),x等於多少?

22樓:金色潛鳥

x++ 是字尾加,表示式裡用x 的原值,出了表示式再自增1。

(1) x=2;

(2) x*=(x++) 分解為:

(2_1) x*=x; 即 x = x * x = 2 * 2 = 4;

(2_2) x=x+1; 即 x = 4+1 = 5;

得 5。

*****===

如果是 x*=(++x) 字首++, 那麼 x 先自增,再用於表示式,出了表示式 x 不另自增。

(1) x = 2;

(2_1) x=x+1; x 得 3

(2_2) x = x*x; x 得 9結果 9

設a是整型變數,則表示式(a=4*5,a*2),a+6的值是( ).

23樓:mono教育

int a;

a=4*5;

a=a*2;

printf("%d",a+6)

逗號將分成兩個表示式。(a=4*5,a*2)可以是a=4*5;a=a*2;

例如:a=4*5, a=20;

a*2 ,a任然為20,;

a+6,得26

逗號運算子的結果是最後一個逗號之後的表示式的值,所以結果為26,此時a=26

24樓:滄海雄風

(a=4*5,a*2),a+6,括號優先順序最高先算括號裡,括號裡a=4*5=20即是(20,20*2),

20+6所以結果26你的想法錯在括號裡(a=4*5,a*2)

右邊只是a*2但是沒有再賦值給任何變數

25樓:鳳雪曼遇淡

這是個逗號表示式,是一個表示式

逗號表示式的值為逗號右邊的值,如(a,b)的值即為b的值,逗號的運算優先順序最低

(a=4*5,a*2),a+6的值即為a+6的值,即為26

26樓:七夜少俠

計算了,

= 的優先順序高於 ,的優先順序。

你這個表示式可以看成:((a =4*5),a*2)

27樓:納蘭婉兒

逗號表示式的一般形式是:表示式1,表示式2,表示式3……表示式n逗號表示式的求解過程是:先計算表示式1的值,再計算表示式2的值,……一直計算到表示式n的值。

最後整個逗號表示式的值是表示式n的值。

看下面的例子:

x=8*2,x*4 /*整個表示式的值為64,x的值為16*/

(x=8*2,x*4),x*2 /*整個表示式的值為128,x的值為16*/

所以這裡整個表示式的值是46,a的值是20

表示式0x130x17的值是如何計算表示式0x130x17的值要有計算步驟謝了

值為4.換算為二進位制再進行異或運算,過程如下 0x13 00010011 0x17 00010111 異或運算,相同的結果為版00x04 00000100 所以結果是4 補充 0x是16進位制權數表示的字首,在c c 等語言裡面,34這樣的數字是表示10進位制數字,0x34就是表示16進位制數的3...

設整型變數X為任何整數,表示式X12的值是為什麼

首先應該知道,表示式的真值用1表示,假用0表示。這樣,1 如果x取大於1的數,x 1為真,值為1,原式就變成1 2,顯然為假,所以原式值為0 2 如果x取1,x 1為假,值為0,原式就變成0 2,顯然為假,所以原式值為0 3 如果x取小於1的數,x 1為假,同 2 綜上,原式的值為0。這個要考慮運算...

c語言中,x 6,表示式(x x x 4)的值是多少?為什麼

x 2 1先計算x 4 相當於x x 4這個時候x 2了。2再計算x x 4 這個時候x 2,且x 4 這一塊也等於2了,所以x 2 x x 2 x 2 2 x 1 3後計內算x x x 4 前面的一部容分 x x 4 1了!也把x賦1了!所以x 1相當於x x 1 相當於x 1 1 2了!注意你算...