gpt4 book ai didi

c++ - 评估 if 语句中的单个字符 : C++

转载 作者:行者123 更新时间:2023-11-30 01:28:06 25 4
gpt4 key购买 nike

我的 if 循环有一些问题。

首先,我分配了字符符号。

 void evaluate_ps(istream& input) 
{
char sign;
input >> sign;
cout << sign << endl;
check(sign);
}

打印/所以我的符号的值为 '/'

然后我去我的void check(char operation)函数

 void check(char operation)
{
if(operation != '-' || operation != '+' ||
operation != '*' || operation != '/')
{
return false;
}
else return true;
}

它返回 false... 为什么 !!!!我似乎无法弄清楚这一点。

谢谢大家

最佳答案

发生这种情况是因为您正在使用 || (OR) 运算符。当 operation/ 时,检查 operation != '-' 返回 true。由于 || 被短路,整个表达式返回 true。

将其改为&&(与):

if (operation != '-' && operation != '+' &&
operation != '*' && operation != '/')

另一种写法是:

if (!(operation == '-' || operation == '+' ||
operation == '*' || operation == '/'))

关于c++ - 评估 if 语句中的单个字符 : C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8018175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com