c語言xyz為什麼等於,c語言x y z為什麼等於

2021-03-12 09:35:49 字數 1294 閱讀 9242

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樓:小帆向前衝

你有初始化這些數嗎?

c語言中xyz的意思是?還有 x

要看優先順序,邏輯與與邏輯或的優先順序是一樣的,那就先從左開始,先 x y做判斷,判斷的結果在於 z進行判斷。主要就是優先順序,你可以去譚浩強的書中去看,那有詳細的介紹。一 前 前 都是先進行自增,再使用變數,如 x 相當於 x x 1 x 0 二 和 有斷路特性 當遇到 0時,不再執行其後的同級運...

c語言有道題目設x,y,z是int型變數,且x3,y

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語言,c的值為什麼不是,c語言,c的值為什麼不是

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...