#include<stdio.h>
int main()
{
int a;
int count;
char ch;
for(a=1; a<=100; a )
{
printf("%d
",a)。
printf("Do you want to break loop(y/n):")。
scanf(" %c"/span>,&ch)。
if(ch=='y' || ch=='Y')
{
break;
}
}
}
這只在我輸入
if(ch=='y' || ch=='Y') 或者 if(ch!='y' && ch!='Y')
而當我輸入
if(ch=='y' && ch=='Y')
而在所有的條件中都是真實的
uj5u.com熱心網友回復:
'y'不等于'Y',所以ch不能同時等于兩者。 如果ch == 'y'為真,那么ch == 'Y' 一定為假,反之亦然。 因此,運算式ch == 'y' && ch == 'Y'不能永遠是真的,因為ch不能同時是兩個不同的值。 它只能是一個或(提示提示)在任何特定時刻的另一個。
uj5u.com熱心網友回復:
一個字母怎么能同時等于'y'或'Y'呢?
用戶只能輸入一個字母,要么是'y'或'Y',要么是其他字母。
所以這個if陳述句
if(ch=='y'/span> && ch=='Y')
這樣做沒有意義。if陳述句的條件總是評估為邏輯上的false。
這個if陳述句
if(ch=='y' || ch=='Y')
確定用戶是否輸入了字母'y'或字母'Y'。
這個if陳述句
if(ch! ='y' && ch! ='Y')
意思是說,用戶輸入的其他字母不是'y',也不是'Y'。上面的陳述句也可以改寫成
if( !( ch == 'y' || ch =='Y' ) )
這個if陳述句
if(ch! ='y' && ch! ='Y')
與此if陳述句相反
if(ch=='y' || ch=='Y')
這就是當第一個if陳述句中的條件評估為真時,第二個if陳述句中的條件評估為假,反之亦然。
這個運算式的否定值
! ( ch=='y' || ch=='Y' )
等同于這個運算式
( ch !='y' && ch !='Y' )
uj5u.com熱心網友回復:
閱讀和研究下面的參考資料,之后你會更好地理解其中的區別和你的陳述句的含義。
邏輯運算子
比較運算子
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/314490.html
標籤:
上一篇:為什么"PrevActiveClass?WinActivateahk_class%PrevActiveClass%`不作業?
下一篇:反應-如果乘以一條線
