我正在尝试在 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
帮助?
您在if
语句中没有正确比较。编译器将看到以下内容
if(a=='i'||'b')
并看到:
a
是否等于'i'
OR'b'
是真的吗?
第二部分始终为真(因为'b'
必须与 NUL 字符 ' '
不同(。相反,您需要做的是
if (a == 'i' || a == 'b')
要解决您的问题,请执行以下操作:
if(a=='i' || a=='b')