若a5,b6,c7,d8則表示式da2bca的值為

2021-05-15 18:36:12 字數 1543 閱讀 6852

1樓:金色潛鳥

按運算子 優先順序 賦值表示式可寫成:

d= ( ((a/2) && (b==c)) || !a )按次序: a/2 得 2; b==c 得 0; 2 && 0 得 0。

!a 得 0。

0 || 0 得 0。 0 賦給 d 。 d 得 0表示式 的值 為 0

2樓:匿名使用者

從左至右掃描

先計算a/2,結果為5/2,即1

再判斷b==c,結果為假,即0

然後判斷(a/2)&&(b==c),即1&&0,結果為假,即0然後a=5,非0,為真,則!a為假,即0

再判斷[(a/2)&&(b==c)]||(!a),即0||0,結果為假,即0

最後賦值d為0

3樓:哇塞這人真帥

根據運算子優先次序

可以得到d=[(a/2)&&(b==c)]||(!a)從左至右掃描

先計算a/2,結果為5/2,即1

再判斷b==c,結果為假,即0

然後判斷(a/2)&&(b==c),即1&&0,結果為假,即0然後a=5,非0,為真,則!a為假,即0

再判斷[(a/2)&&(b==c)]||(!a),即0||0,結果為假,即0

最後賦值d為0

建議再熟悉熟悉運算子優先次序

4樓:匿名使用者

d=a/2&&b==c||!a 相當於 d=((a/2)&&((b==c)||!a)),

也就是你先計算b==c,結果為0,

而!a結果也為0,所以(b==c)||!a結果為0所以d肯定為0的。

5樓:

udent supervisor at the

c語言已知a=5,b=6,c=7,d=8,m=2,n=2執行(m=a>b)&&(n=c>d)後n值為

6樓:匿名使用者

答案不可能是復2,答案應制該是0,這是一個邏輯表達bai式不可能出現0,1之外的數du字。前邊》的優zhi先級高於賦值也就是先dao判斷a>b是假,也就是0,把這個零賦值給m,此時m=0,因為邏輯符號&&有短路效應,也就是說前邊只有出現假,就不會接著判斷後邊的一部分,所以整體表示式是假,也就是0

7樓:感情程式設計師

答案是2沒錯。

首先復,你得知道運制算符優先順序是 >優先於bai=

因此先執行dua>b這條語句,這條語句執行結zhi果是dao返回一個bool值,只有0和1兩種情況

因為a=5,b=6所以語句a>b會返回0,並將結果賦值給m因此在左邊那個括號裡面的最終結果是m=0,而&&符號是「並且」的意思,往往放在if()中來判斷,只有兩邊都非0,才會執行if()下面的語句,

當&&的左邊為0,它就不執行&&右邊的語句(因為這條語句「並且」的意思,當左邊為0,就是為假,不論右邊出現什麼情況,整個語句必然是假,執行右邊語句沒意義,編譯器跳過不執行)

綜上,可得n的值沒改變,為2

@樓上的

c語言若a3b5則表示式agtbab的值是

a b?a b 是三目運算子,通常用法是a?b c,意思是如果a為真,則執行b,為假則執行c 就上述來說 a 3,b 5 a b?a b a b 為假,所以執行b c語言的題目 設有定義int a 3,b 4 則表示式a b,a b,a 的值為3,答案為什麼是3不明白?謝謝 你是說a 為什麼 3是吧...

C語言中,若宣告int a 5,b 2則表示式bfloat b a

b a 2 3.5 b 3.5 b 3.5 2 5.5 因為b是int型的 所以b 5 b 2 float b a 2 3.5 b float b a 2後 b 2 3.5 5.5 若有定義 int a,b 則表示式 a 2,b 5,a 2,b a b 的值是?b 的意思是 先將b的原值帶入本條語句...

C語言問題 若a 7,b 2,c 4,則表示式a 3 b b c 5的值為 多選題)

此題選b。a 3 b b c 5 7 3 2 2 4 5 1 4 0 5 c語言環境中,設a 1,b 2,c 3,d 4,則表示式 a b?a c d?a d的結果為 表示式 a b?a c d?a d的結果為4。解析 1 由於c語言的相同優先順序運算子運算規則為從左至右依次運算,而條件運算子具有右...