我正在尝试在if语句逻辑中使用char变量,但它没有按我期望的那样工作。
int main()
{
char a = 'a';
//char array[] = "testing";
if(a=='i'||'b')
{
cout << "GOOD" << endl << a << endl;
}
else
{
cout << "Invalid Char" << endl << a << endl;
}
system("PAUSE");
return 0;
}
我希望它能输出
Invalid Char
a
但是它输出
GOOD
a
帮助?
答案 0 :(得分:2)
您在if
语句中的比较不正确。编译器看到以下内容
if(a=='i'||'b')
看到:
a
是否等于'i'
或'b'
是真的吗?第二部分始终为true(因为'b'
必须与NUL字符'\0'
不同)。您需要做的是
if (a == 'i' || a == 'b')
答案 1 :(得分:0)
要解决您的问题,
if(a=='i' || a=='b')