1樓:匿名使用者
等號優先順序低於邏輯運算子。
int x=1,y=2,z=3;
j=x>y>z;運算順序為:
x>y 結果為0
0>z 結果為0
j=0根據x y z的值,自己推導一下吧
2樓:匿名使用者
要看你的x y z是怎麼定義的了
如果直接就int x,y,z
預設成都是0
「y>z」是不對的 所以=0
「x> (y>z)」 = "x > 0"也是不對的所以=0所以j = 「x> (y>z)」 = "x > 0" = 0
3樓:岔路程式緣
這個題是先計bai
算x>y>z的值,再把結du果賦值
zhi給j。
我們分析一下計算過程dao,不妨假定
版xyx都是整型數(
權int):
首先兩個大於號,從左向右計算,先計算x>y的值,就是比較x與y的大小:如果x>y成立,則它的值=1;否則它的值=0。
第二步再來把x>y的值,也就是剛才得到的0或1與z比較大小(這一步可以寫成(xy>z成立,它的最後結果就是1;否則它的最後結果就是0。
以上就是完整的計算過程。
根據以上分析,可以得到以下結論:
(1)如果z<0,不管x和y取多少,總能列印出來1。如:x=1,y=2,z=-8或者z=12,y=0,z=-3。
(2)如果z>=1,不管x和y取多少,總能列印出來0。如:x=1,y=2,z=8或者z=12,y=0,z=1。
(3)如果z=0,只能在x>y時能夠列印出來1,在x<=y時都列印出0。如:x=10,y=5,z=0時列印1,而在x=100,y=1000,z=0時列印出來0。
你說的答案是0,應該是xyz的取值符合第(2)條或者第三條的一部分條件。
你可以試一試。祝你學習進步!
4樓:敗芏
在編譯時,按照c語言copy的運算子bai優先順序:賦值運算子du「=」的優先順序低zhi於比較運算子「>」。
所以,不是先算j=x,而dao是先算x>y,而x>y和y>z的優先順序相同,就按照從左到右的順序計算。比較運算的值只有「真即1」「假即0」兩種情況。
如果x>y,值為1;如果x 再把這個值(1或者0)和z比較,得到值為1或者0。 最後把這個值賦給j。 5樓:匿名使用者 你定義的x,y,z是什麼啊 6樓:小帆向前衝 你有初始化這些數嗎? 要看優先順序,邏輯與與邏輯或的優先順序是一樣的,那就先從左開始,先 x y做判斷,判斷的結果在於 z進行判斷。主要就是優先順序,你可以去譚浩強的書中去看,那有詳細的介紹。一 前 前 都是先進行自增,再使用變數,如 x 相當於 x x 1 x 0 二 和 有斷路特性 當遇到 0時,不再執行其後的同級運... a a ch 的值是0或1,而來 z 的值肯定自大於1,所以表達bai式的值為真 非du0 b 是兩個邏zhi輯值的算術與,這兩dao個值有可能同時為真,所以整個的值有可能為非0的真值 c 運算順序是 x y z y z 顯然結果不一定是真還是假,所以依然有可能為非0 d x或,值永遠為1。ch沒有... c a a a b,b 4 這句反彙編後的內容如下,下面是分析,望採納 0040103d mov eax,dword ptr ebp 4 可見ebp 4的地方儲存a的值,這條指令將 a 的值放到暫存器eax中 00401040 add eax,1 eax值加1,也就是a a 1 00401043 m...c語言中xyz的意思是?還有 x
c語言有道題目設x,y,z是int型變數,且x3,y
c語言,c的值為什麼不是,c語言,c的值為什麼不是