1樓:匿名使用者
x=2,y=3,z=2
月亮望見了copy
小魚的結果正確,過bai程分析不對。woniu157的結果就du錯了。
都是因為++和zhi--這兩個運算dao
符。遞增和遞減運算子出現在變數的前面和後面時優先順序是不一樣的。出現在變數前時,優先順序最高要先算遞增、遞減的值,再參與其他運算子號的操作。
出現在變數後時,優先順序降低,先參與其他運算子號的運算,再算遞增、遞減。
y+=z--/++x;這裡要注意的就是這兩個遞增和遞減運算。
++x要先算,所以x就已經先等於2了。
然後是z--/2,剛才說了--在z 後面,所以先算/,就是3/2,結果等於1,之後z才--,z等於2。
最後y+=1;y的值為3.
2樓:月亮望見了小魚
值應該是y=3 x=2 z=2吧
因為y=y+z--/++x
z--=3
++x=2
y=2y+z--/++x=2+3/2=3
此時 x=2 z=2
其實樓主吧結果輸出一下完全就知道了啊...
3樓:匿名使用者
這其實就是優先順序的問題
首先++,--優先順序高於*,/故應先算z++和++x所以這句可以轉換為
y=y+(z++)/(++x)
y=4;
x=2;
z=4;
4樓:匿名使用者
這一句相當於 y = y + (z--) / (++x) = 2 + 3/2= 3
運算完之後,z=2, x=2
5樓:
我執行過了x=2;y=3.5;z=2.本來我覺得就是這個結果,為保險起見我執行了一下證明了我的答案!希望會對你有幫助!
6樓:匿名使用者
最後:x = 2; y = 3; z= 2;
分析:y + = 3/ 2 ; y = y+1 = 3z-- 為先用後減
++x 為先加後用
7樓:匿名使用者
標準答案:x=2,y=3,z=2
敢立軍令狀!!!!!
8樓:匿名使用者
z--:3
++x:2
z--/++x=1.5
y+=z--/++x的答案就是3.5
2、設 x = 1 , y = 2 , z = 3,則表示式 y+=z--/++x 的值是(
9樓:匿名使用者
3 。1.z--復等於
制3;2.++x 等於2;
3.z--/++x 等於3/2,結果bai為1;
4.y+=1,結果為y=2+1=3。
基本的優
du先級需zhi
要記住:
指標最優,dao
單目運算優於雙目運算。如正負號。
先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 & 7等價於 (1 << (3 + 2))&7.
邏輯運算最後結合。
10樓:匿名使用者
結果是:b
根據優先順序,先計算
z--,z--依然是3;
再計算++x,++x結果為2;
再計算z--/++x,即3/2,為1.5
最後回y+=z--/++x的意答思即y=z--/++x + y即2+1.5,最後結果為3.5
如有宣告語句int x=1,y=2,z=3;則執行語句z=x+=2||y--;後變數x,y,z的值是 ( )。 這個的答案是2,2,2,為什麼
11樓:匿名使用者
|z=x+=2|bai|y--;
按照運算的優先順序和順du
序,那是
這樣的:
z=(x+=2||zhi(y--))
這裡daoy--是沒有被執行的,就回是y還等於2因為y--和2都是非零答的,所以2||y--是邏輯「or」的結果,就是1.
那麼x+=2||y--就是x+=1,即x=x+1=2。
所以z=2。
12樓:幫個忙好不
運算子優先順序 --大於 + 大於 <= 大於 != 大於 || 大於 =
設有變數定義「intx 1,y 2,z 3計算下列表示式的值
1 這個是要求什麼表示式的值呢?後面的除2 2 完全沒有作用啊,執行後x 2,因為x是整型 若是x float y 0.5 2,執行後x 1 2 逗號 運算子求職順序為自左至右,所以,執行 x,y 後x 0,y 3,z 3,然後求得最右邊x y z 6並將此結果賦給z 3 等號 運算子結合方向為自右...
設有宣告int x 1,y 2,z 3下面表示式的值為0的有()A x《z B z》2 C y y D x yE z y x為什麼
完整bai的是bcde b 右移2位,du相當於除以4,3 4 因為是zhiint型別的,所dao以等於0 c 異或操作 y y 相同專等屬於0d 1 2 等於0 10 01 00e 1 2 3 等於0 00 1100 應該是d e a左移2,相對於 1 2,b右移2,相對於3 2,c異或時還是y ...
java已知intx2,y4,z3,程式設計求xy
public static void main strign args c語言 已有定義int x 3,y 4,z 5 則表示式 x y z 1 y z 2的值是?答案是1。涉及到的運算子 運算子優先順序為 運算過程 x 3,y 4,z 5 x y z 1 y z 2 3 4 5 1 4 5 2 所...