C語言inta1,b0為什麼ab為假

2021-03-04 01:01:31 字數 1109 閱讀 4108

1樓:追夢的風

&&是並且的意思,要兩個都為真結果才為真,所以你這個結果為假!

2樓:忘了所有沒有痛

因為&&符號是兩個運算元都為1的時候才是真,你這個b是0,所以你的結果才是假,想為真的話把b的值改為1。

c語言中。int a=1,b=0,c=1; 執行語句 !b||++a&&++c 後,a,b,c

3樓:

或運算,而且是左結合,!b為真,整個表示式就為真了,不再繼續運算,也就是++a和++c沒有運算,表示式的結果就出來了。

4樓:匿名使用者

|後首先根據運算子優先順序和結合性。((!

b))||((++a)&&(++c))

然後先算!b,此時(!b)=1,為true,於是不需要專算||後的內容了。屬

因為:true||任意表示式=true。

注意,運算子優先順序不代表計算優先順序。

如果你把b=1 結果就是212

5樓:卿楓凌

對於!b||++a&&++c;按照規bai

定, 要先計du算 && (&&的優先順序zhi比||高)也就是需要計算dao出 ++b和c++;

但是按專照優化, 只要計算出 a>0 就可屬以了,不需要計算出 ++b和c++,「||」在這裡起到了短路的功能(短路就是,當第一條表示式能決定整條表示式的結果,那麼後面的語句都不執行!),這也叫做布林法則,給你推薦一本書叫做「c語言解惑」。望採納

大學c語言問題 int a=0,b=1,c=1,d=3 表示式++b&&--c||--a的值是多少?變數a,b,c的值分別是多少?為什麼?

6樓:gta小雞

先計算++b,為2,再計算--c,為0,2&&0為0;然後計算--a,為-1,0||-1為1。所以表示式為1,a,b,c分別為-1,2,0.

7樓:匿名使用者

先計算++b,b = 2 不為0 ,然後計算--c c = 0,不滿足邏輯運算關係,所以還要計算--a,a=0.

b = 2 , c = 0, a = -32768.

c語言判斷a0b0,c語言中,a1,b1ifa0!b

不知道你要問什麼,但是我仍然可以告訴你這句話的意思!1,a,b肯定是在程式的某個地方定義的整形變數,他們代表的是任何整數,具體是多少,要看程式怎麼賦值了2,符號就是 等於的意思,注意c語言中只有一個等號的情況下,不是等於的意思,而是賦值3,是並且的意思 也就是說要這個符號前後的表示式全都是真的情況下...

int a 1,b 2,c 3,d 0 if a 1 b2 if bc3 printfd d結果為什麼不是1,

第一句if。a 1和b 都為真du。所以執行zhiif b 0 c 3 dao但是b 2先判斷b是否為2,後b自加1,所以內b 3,答案1,3,3 c不減1是因為if b 0 c 3 這個容if是或運算,在c語言中或運算只有在 之前的表示式不為真的時候在進行 後面的表示式計算,而上面是 之前的表示式...

C語言int a 3,b 4,c 5,t 99 if a0 t b b c a t printfd ,c 為什麼不能編譯呀

語句沒錯!printf語句後沒分號 main函式沒返回值的話定義為void型,預設是整型。編譯器中輸入要注意中英文輸入方式!程式沒問題 一定是你編譯的軟體在格式上有什麼要求才導致不能編譯 提示說的很明白,檢查你的include路徑設定是否有問題 printf d c 語句後似乎少了分號。int a ...