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

2021-03-04 04:34:58 字數 1723 閱讀 5976

1樓:手機使用者

不知道你要問什麼,但是我仍然可以告訴你這句話的意思!1,a,b肯定是在程式的某個地方定義的整形變數,他們代表的是任何整數,具體是多少,要看程式怎麼賦值了2,==符號就是 等於的意思,注意c語言中只有一個等號的情況下,不是等於的意思,而是賦值3,&&是並且的意思 ,也就是說要這個符號前後的表示式全都是真的情況下,才返回真4,( )和數學中的括號是一個意思,起到運算的先後的作用5,! 是 非的意思,我們知道判斷的結果只有兩個 真 或者 假,所以你如果得到一個判斷的答案是假的話,再用這個符號弄一下,就變成了非假,也就是 真 的意思好了我們來看這個判斷式,為了把這個問題說清楚,我們把這個問題分為4個情況1。

a等於0 b也等於0 那麼a==0 返回真 b==0 返回真 上述兩個結果 邏輯與 ,就是真並且真,所以還是返回真 最後,上述結果再邏輯非,變成非真,也就是假。 所以在這種情況下返回假2。a不等於0 b也不等於0 那麼a==0 返回假 b==0 返回假 上述兩個結果 邏輯與 ,就是假並且假,所以返回假 最後,上述結果再邏輯非,變成非假,也就是真。

所以在這種情況下返回真3。a等於0 b不等於0 那麼a==0 返回真 b==0 返回假 上述兩個結果 邏輯與 ,就是真並且假,所以返回假 最後,上述結果再邏輯非,變成非假,也就是真。 所以在這種情況下返回真4。

與3 的情況一樣了!希望對你有幫助

c語言中,a=-1,b=1;if((++a<0)&&!(b--<=0))

2樓:青水之畔

++a,先將a加1,再判斷,

a=0,(++a<0)為假,值為0

b--,先進行判斷,再減一,b=1,所以(b--<=0)值為假,因邏輯是與,(++a<0)為假,整個表示式必為假,此時便不再算後面的表示式,因此,b的值並沒有減1.

結果(++a<0)&&!(b--<=0)值為0,a為0,b為1

3樓:匿名使用者

(++a<0)&&!(b--<=0)

運算級() > ++ > -- > < > <= > ! >&&

執行順序

++a<0其中先++a=0 ++a<0 不成立 值為0&&兩邊都成立值為1

只要有0就不成立

所以後面的就短路了

後面根本就沒有執行

單純執行到++a<0就結束了

if的執行體不執行.....

4樓:浪人

++a是先算a=a+1再把a的值作為(++a)的值,如當a=-1時則(++a)=0;a=0.

b--則是

先將b的值作為b--的值,在執行b=b-1,如當b=1時則(b--)=1,b=0;

&&是數學中並的關係,!則是對()裡的否定,如果()裡的表示式成立則,!()不立,!的運算級高所以先執行!(),在執行&&。

5樓:匿名使用者

1 if 裡面有兩個判斷語句, 如果第一個為false,不管第二個為false或者為ture,結果都為false,所以如果第一個為false,就沒有必要執行第二個了,程式就是這麼做的。

2 在你的判斷中++a結果0.很顯然0<0 是false,所以此時你整個判斷語句就為false。下面即使再有n個條件也不會去判斷了。

6樓:匿名使用者

++a<0  先判斷a是否大於0   然後再加1    b--<=0    先b—1  然後再判斷<=0

c語言中的0xf代表什麼,C語言中0xFFFF表示什麼

張老師情感分析 c語言中對變數賦值0x是以十六進位制數作為變數的值進行運算的。一般用來表示記憶體地址的。舉例說明 定義x int x 0x23 這句話的意思跟定義成int x 35一樣的。編譯器在接收到0x23時就把它當做十六進位制數來處理。簡單來說,表示0x後面的值為十六進位制。擴充套件資料 1 ...

在C語言中0是真還是假,C語言中什麼時候0表示真,1表示假

這裡的 0或者1 真或假 不能說明程式出錯了,反而說明程式執行成功了。因為前面的都執行完成才執行return 按照我個人的理解,這句語句的意義在不在於函式的返回值是什麼,意義在返回值的型別和宣告函式時候的返回值型別一致就行。因為如果不返回,或者返回的值型別有問題,就出錯。如果你的main定義為voi...

c語言中0什麼意思,c語言中x0什麼意思

x 0在c 語言裡是表示x不等於0的意思,和數學表達上有一點不一樣,還比如x 2,表示把x和2做比較是否相等。因為取反運算的優先順序高於邏輯運算子 所以這個邏輯表示式的值是先對x作取反運算,再將該值與0作比較是否相等。x 0表示 x 0,運算優先於 運算。是不等於 加非零數等於0 0 1 c語言中 ...