如果逻辑未按预期工作
If logic not working as expected
我正在尝试在 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')
相关文章:
- 如果不在窗口 10 中声明名为 openCV 的 openCV namedWindow,QT 图像显示将无法正常工作
- 如果用户不小心给出了不正确的数据类型,cin 如何工作?
- 如果逻辑未按预期工作
- 如果我决定输入 (1 2) 而它要求 x,为什么我的输出会出错,但如果我输入 (12) 工作正常
- 如果带有字符数组的语句无法正常工作
- 如果 (QString.contains()) 不能正常工作,请使用 temp bool 变量进行更正
- 当在函数调用中递增值时,程序正常工作,但是如果我们在单独的行中增加值而不是呼叫函数,则会出现错误.为什么
- 在线程中调用线程会给我带来错误,如果我只调用该函数,则可以正常工作
- 如果类数组中的向量是动态push_backed的,内存如何工作
- C 如果与我期望的语句或操作员无法正常工作
- 使用未来wait_for时无法检查成员变量,但是如果我睡在线程中,它可以工作
- 如果不允许我分配 rvalues 来引用为什么以下代码片段有效,这在内部如何工作?
- 如果我将 p!=nullptr 更改为 *p!='\0',那么它可以工作,但为什么呢?
- C++,如果无法正常工作
- 如果我将作品张贴到线程池,并且线程已经在Boost中工作,会发生什么
- ||如果C++,则无法正常工作
- 如果malloc/free对显然做了同样的工作,为什么C++标准库容器使用内存池
- winsock连接调用崩溃如果多个线程运行,则在一个线程中正常工作
- Enable_if如果使用constexpr函数作为参数,则不在Visual Studio中工作
- 如果C++依赖于机器,那么用C++编写的软件如何在不同的计算机上工作