z xyxy是線比較大小還是先計算?拜託大神幫我分析一下每一步的意思

時間 2021-08-11 17:19:52

1樓:道北斗

先比較大小再計算。

?:的優先順序高於+=,先操作 x>y?++x:++y 。

若x>y成立,返回(++x)並加到z上 ; 若不成立,則返回(++y)並加到z上。

++x應該與x+=1相同,同理++y與y+=1相同。

2樓:召走刀文

教你個方法,當--或++在後時,就將那個操作放到表示式的後面,例如m=(x--)+(x--);

等價於m=(x)+(x);

x--;

x--;

同理,當--或++在前時,就將那個操作放到表示式的前面m=(--x)+(x++);

等價於x--;

m=(x)+(x);

x++;

所以z+=x>y? ++x:++y

等價於x = x +1:

y = y + 1;

z+=x>y? x:y

明白了嗎

3樓:匿名使用者

先比較大小吧,因為首先他是一個問號三元表示式,裡面的計算只是他的一個子項,肯定是先比較,單進入到子項的時候,在計算式++x還是++y,做個測試就可以知道了。 int x=3,y=3;

int z;

z=x>y?++x:y;

cout

z=x>y?x++,++y是什麼意思

4樓:尚學堂科技****

z=x>y?x++:++y是三目運算子:

對於條件表示式b ? x : y,先計算條件b,然後進行判斷。

如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。

例如:

public class test}

經過以下語句定義後,表示式z+=x>y?++x:++y的值是( )intx=1,y=2,z=3;

5樓:匿名使用者

結果是來6

z+=x>y?++x:++y的意思是

z=z+x>y?++x;++y

因為x>y為假, 所以x>y?++x;++y這個運自算出來是bai++y, 那麼式子就成了

z=z+++y 而++運算子是du先自增然後才執行zhi下一條語句dao, 那麼y就先辦成3,然後才會和z相加的

這樣就計算出來了z=3+3

6樓:匿名使用者

給你改編一下應該好理解int ntemp;if (x>y) ntemp = ++x;(先加1再賦值)else ntemp = ++y; z = z + ntemp;

7樓:匿名使用者

z的值是6,你要的是結果?

8樓:匿名使用者

寫的不是很清楚看起來應該是三目運算 前面是z+=x>y? 後面是++x:++y;如果z+x>y 則取++x;否則取後者 取後者 加1後 x=2;

假設有條件 int x=1,y=2,z=3;則表示式z+=x>y?++x:++y的值是6,為什麼是6呢?

9樓:墨汁諾

先判斷後面的條件,因為x大於y不成立,所以返回++y也就是3,再加到z裡所以是6。

或結果是6

因為+=運算子的優先順序低於後面的運算,

所以先求後面表示式的值,可得結果為3

接著,z+=3可得z=6

10樓:匿名使用者

你好 ,比目運算子(?:) 和》 的優先順序都比 += 高。

所以上式可以這樣看 z = z + (x>y?++x:++y)z = z + (++y) = 3 + (2+1) = 6請採納,有問題可追問。

c語言:x=y=1;z=x++,y++,++y;計算輸出x,y,z的值

11樓:匿名使用者

x=1,y=1

z=x++

把x給z,所以z=1,之後x++,所以x=2;

y++原來y=1,現在變成2

++y前面y=2,現在變成3

所以,最後:

x=2y=3

x=1擴充套件資料c語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程式設計語言。在表示式方面較其它程式語言更為簡潔,如自加、自減、逗號運算和三目運算使表示式更為簡單,但初學者往往會覺的這種表示式難讀,關鍵原因就是對運算子和運算順序理解不透不全。

當多種不同運算組成一個運算表示式,即一個運算式中出現多種運算子時,運算的優先順序和結合規則就會顯得十分重要。

12樓:別懂我

逗號表示式優先順序低於賦值運算子,所以z = x++, y++, ++y;===》(z =x++),(y++),(++y);

應與z = (x++, y++, ++y);區分

13樓:匿名使用者

答案是2,3,1.,首先z=x++,結果是z=x,然後在執行x++,y++,x=y=2,在執行++y,所以最後x=2,y=3,z=1

14樓:匿名使用者

第4步應該錯了吧。。。z只執行了z=x++這一步。後面的只是y的自加而已。沒有將值付給z。忘採納

15樓:寒冰追風

z=x++,y++,++y;

這個的最後結果就是z=x++;因為z的賦值只有z=x++;

z=(x++,y++,++y);他的結果才是z=3

、定義:int x=1,y=2,z ;執行 z=x>y? x++: y++; 表示式後,x,y,z的值是

16樓:歷玉巧淦賦

||先明白x++||y++||z++這個表示式結果只有可能2個值,0和1,||運算子有個特

回點,如果第一個表答達式結果是真,則後面的表示式將不執行,因為x=5,結果非零,所以這裡只執行了一個x++,最後x=6,y=6,z=8

17樓:匿名使用者

? :為三元運算子,例如:a?b:c

表示如果a為真,則表示式值為b,如果a為假,則表示式值為c

先算x>y 為false其值為y++,即為3,所以最後x=2,y=3,z=3

18樓:匿名使用者

相當於:

if ( x>y )

else

所以執行完成後:x=1 y=3 z=2

python中符串是怎麼比較大小的

字串按位比較,兩個字串第一位字元的ascii碼誰大,字串就大,不再比較後面的 第一個字元相同的情況下,就比第二個字串,以此類推。舉例如下 1 建立python檔案,testcompare.py 2 編寫字串比較指令碼 print a b print aa ab print abc abc print...

中心溫度計是先清洗還是先消毒?溫度計的正確消毒方法

中心溫度計是先清洗。溫度計的正確消毒方法 可浸泡於75 的酒精中,密封,下次使用時取出。這當然是指體溫計,用於測量物體的其他溫度計,沒必要這樣做。體溫計的使用時先甩後消毒為什麼?1全部防止消毒後再甩手又碰到體溫計。消毒是為了健康,甩是因為體溫計是上次的溫度值,甩了才下降,保證下次量的體溫是正確的。甩...

16分之9和24分之13先通分再比較大小

聆聽萬物 分數計算9 16 13 24 解題思路 四則運算規則 按順序計算,先算乘除後算加減,有括號先算括號,有乘方先算乘方 即脫式運算 遞等式計算 需在該原則前提下進行 解題過程 9 16 13 24 27 48 26 48 27 26 48 1 48 擴充套件資料 計算過程 將減數與被減數個位對...