c 邏輯或有什麼問題,c 中邏輯運算子的問題。

2022-11-08 17:02:02 字數 1505 閱讀 9969

1樓:saber我本命

是這樣的:

1.或運算是只要有乙個條件滿足 則結果為true2.while語句括號裡面的表示式為true 則繼續迴圈按照你的意思應該是a=n或者b=m就跳出迴圈但你的表示式意思是「當a!

=n或者b!=m則繼續執行」所以會出現要兩個都數對了才跳出迴圈

解決方法:

1.像你說的那樣 換成與符號

2.整個表示式括起來前面加非運算

還是挺繞的 我剛開始也弄混了 望採納~ 有問題我們繼續**

2樓:夏天的小紅花

為什麼要輸入2個字元呢?

只要乙個就可以了的。

#include"iostream"

using namespace std;

int main()

while (a!='n'&&a!='n');    //任意大寫或小寫的均可

return 0;}

3樓:匿名使用者

a!='n'||b!='n',while跳出去的條件是a,b都=n,

a!='n'&&b!='n',a,b中有乙個=『n』,就跳出去了,邏輯上沒毛病啊,考慮一下真值就是這樣沒什麼毛病吧

4樓:

a || b : a=true不會去check b, a=false會去check b

a && b : a=true會去check b, a=false不會去check b

c++中if語句和邏輯或的用法 10

5樓:

邏輯或 ||

a || b,

a,b 有乙個為真,結果為真。

a,b 都為真,結果為真。

a,b 都為假,結果為假。

0 為假, 1,2,3,4...等等都為真(即非0為真)。

if (條件)

else ;

--------------------------------例子:如果 a 大於100 或 a 小於 0,做x=y;

當a=0到100之間,做x=2y:

if ( a>100 || a<0 ) else ;

6樓:沒有好名拉

if(){};

else if(){};

else {};

c++中邏輯運算子的問題。

7樓:

對於邏輯或運算,只要有乙個環節的值為真,那結果就是真

所當m==1時,整個表示式的值必然為1,後面的就沒必要判斷了,所以n=c==d不會被執行,n保持原來的值0

8樓:匿名使用者

因為如果你用if((m=a==b)||(n=c==d)) 你用的是||| 一旦有乙個()運算結果是1 則停止運算。也就是有乙個括號中的運算並沒有進行。

if是從左到右的運算順序吧 這樣在你的值都是0的前提下 值運算了(m=a==b)

幾個關於邏輯運算的c語言題目,幾個關於邏輯運算的C語言題目

哦,bai這個我知道,書上du和老師都會提到zhi這個問題的,在邏輯dao運算中會出現 短路 內的現象 容,例如 並列語句當中如果第乙個為假的話就結果直接為零,不執行後面的運算 或語句中如果第一為真結果直接為1,不執行後面的語句。這樣你就明白為什麼第一道題中的n不是0而是原來的值2,第二道題仲的y是...

python中and or和not邏輯運算子,一直理解不了,求幫助

and or 和 not 的優先順序是not and or 首先,and or 和 not 的優先順序是not and or。and x and y 返回的結果是決定表示式結果的值。如果 x 為真,則 y 決定結果,返回 y 如果 x 為假,x 決定了結果為假,返回 x。or x or y 跟 an...

C語言中的位邏輯運算子是怎麼取反的

計算機來裡面都是用補碼表示的 最高源位表示bai 符號位 0表示正數du,1表示負數 補碼轉換為原zhi碼 除符號位之dao外 各位取反末位 1 對於1 111111111111111111111111111101 32位系統int是32位的 除符號位之外按位取反末位 1 得到 1 00000000...