Intx3,y2則表示式printfdx

2021-03-03 21:05:47 字數 1010 閱讀 1426

1樓:

逗號運算子順序執行

x-=y x=3-2=1

x*=y+8/5 x=1*2+1=3

所以結果為3

c語言中:int x=3,y=2;則表示式x+=x*=y+8的值為?

2樓:紛舞年華

y+8=10

x*=10 => x=x*10 => x=30

x+=30 => x=x+30 => x=60

int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 結果是多少,為什麼?請大俠們解釋清楚點,謝謝!

3樓:匿名使用者

int x=5;

int y=2+(x+=x++,x+8,++x); //這裡括裡面要取的值是最後乙個逗號後面的值

//前面依次執行 x+=x++,這個是先用了x再x++ x+=x相當於 x=x+x =5+5=10 再x++ x=11,然後是x+8,x不變,最後是++x,x=12,所以y=12+2=14

printf("%d",y); //輸出14

4樓:匿名使用者

結果為14

y的值為括號內最左邊的式子的值加上2; 括號內的計算順序是從右向左。

5樓:嘿若

14.。。。。跑出來的~

int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 結果是多少?x=(y=4,z=16,k=32),x的值是32?

6樓:孔桂枝和亥

括號裡,逗號運算子是從左往右的,整個表示式的值跟最右邊的語句有關

回。1、x++表示先使用x的值然後答自增,那麼表示式x+=x++之後,x的值是11;x+8不影響x的值;++x後值為12;那麼y=14。

2、從左往右,最後的值就是32。

若有定義intx3,y4,z,則表示式zyx

1 這就相當於乙個邏輯判斷式 左邊是乙個邏輯表示式 右邊也是 左右邏輯表示式的值均為1 1 1 所以為真 即1 定義 int x 3,y 4,z 5 則表示式 x y z 1 y z 2的值是 1首先 優先順序最高,故 x y 0,然後根據算術運算子的優先順序高於 繼續計算0 z 1 4,和y z ...

已有定義 int x 3,y 4,z 5,則表示式 x

之經亙姒郎 你這個是c語言吧。你可以看看布林值其他型別的轉換規則。表示式 x y z 1 y z 2的值只可能是0和1,也就是假和真。這裡是表示式條件滿足,所以是1。x y z 1和y z 2分別判斷是0還是1,然後再進行邏輯與 運算。c語言當中,整數轉布林值的時候是非0轉1,0轉0吧。按這個規則來...

定義intx3y4z5則表示式xyz1yz

1首先!優先順序最高,故!x y 0,然後根據算術運算子的優先順序高於 繼續計算0 z 1 4,和y z 2 6,z 2為取整運算 最後進行 與 運算,4 6 1.這裡涉及bai 到的運算子 優先順序 x y z 1 y z 2 3 4 5 1 4 5 2 所以表示式計算步驟dao為 3 4 5 1...