如果逻辑未按预期工作

  • 本文关键字:工作 如果 c++
  • 更新时间 :
  • 英文 :


我正在尝试在 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')

并看到:

  1. a是否等于 'i' OR
  2. 'b'是真的吗?

第二部分始终为真(因为'b'必须与 NUL 字符 '' 不同(。相反,您需要做的是

if (a == 'i' || a == 'b')

要解决您的问题,请执行以下操作:

if(a=='i' || a=='b')

相关内容

最新更新