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

時間 2021-08-11 17:21:03

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

新車出事故是去4S店修好還是去比較大的維修店好

雪賓尼 4s店除了 比外面高,用的件都是一樣的,員工的手藝往往還不如一般的修車店 看你的需要把,如果你保險需要,或者去4s店方便,就去4s店,如果是自費,或者經常需要修車的話,那就自己找店吧,肯定不會有4s那麼宰人的 全險直接去4s店,涉及到更換零部件了,維修店有說明清的地方。雖然4s也有很多說不清...

安裝踢腳線,是木質踢腳線更好還是用磚的比較好

哆啦a夢聯盟 買了房子之後我們就要開始裝修房子了,這時候考慮東西就比較多,因為各方面的選擇都太多了。在安裝踢腳線的時候,我們就有兩種選擇,木質和磚質的。要想知道哪個好用,首先我們要知道踢腳線有啥作用。踢腳線不進可以美化家居裝飾增添屋內的立體感,又可以遮擋地板與牆體之間的縫隙保護牆體。踢腳線可以很好的...

是先刷牙再吃早餐,還是先吃早餐再刷牙比較衛生

雪 晚上刷牙 自從我們開始用牙刷的那刻,每天都會堅持早晚刷牙兩次,為什麼睡前要刷牙,因為我們一整天吃的食物在口腔內殘留,有很多細菌,我們需要睡前刷牙,特別是吃了糖,睡前一定要刷牙,否則會長蛀牙。2 漱口 經過一個晚上的睡眠,我們沒有吃任何事物,但是口腔內依然有細菌,所以我們起床第一件事情就是先漱口,...