C++ 计算if语句中的单个字符:C++;
我的if循环有一些问题 首先,我指定了字符符号C++ 计算if语句中的单个字符:C++;,c++,if-statement,char,C++,If Statement,Char,我的if循环有一些问题 首先,我指定了字符符号 void evaluate_ps(istream& input) { char sign; input >> sign; cout << sign << endl; check(sign); } 它返回的是假的。。。为什么?我似乎无法理解这一点 谢谢大家。你可能是说你所有的|都是&&: if(operation != '-' && operatio
void evaluate_ps(istream& input)
{
char sign;
input >> sign;
cout << sign << endl;
check(sign);
}
它返回的是假的。。。为什么?我似乎无法理解这一点
谢谢大家。你可能是说你所有的
|
都是&&
:
if(operation != '-' && operation != '+' &&
operation != '*' && operation != '/')
否则,它将始终输入if语句,因为一个字符将始终不等于4个不同事物中的一个。您可能是说所有的
|
都是&&
:
if(operation != '-' && operation != '+' &&
operation != '*' && operation != '/')
否则,它将始终输入if语句,因为一个字符将始终不等于4个不同事物中的一个。发生这种情况是因为您使用的是
|
(OR)运算符。当操作
是/
时,检查操作!='-'代码>返回true。由于|
短路,整个表达式返回true
将其更改为&(和):
另一种书写方式是:
if (!(operation == '-' || operation == '+' ||
operation == '*' || operation == '/'))
这是因为您正在使用|
(或)运算符。当操作
是/
时,检查操作!='-'代码>返回true。由于|
短路,整个表达式返回true
将其更改为&(和):
另一种书写方式是:
if (!(operation == '-' || operation == '+' ||
operation == '*' || operation == '/'))
if语句响应/不等于其他值之一
甚至从一般意义上考虑“或”
如果蓝色不是绿色或红色或不是蓝色,说不
您需要执行以下操作:
if (operation != '+' && operation != '-' && operation != '/' && operation != '*') {
return false;
}
return true;
这边是这样的
如果蓝色不是绿色,也不是红色,也不是蓝色,则表示“否”if语句响应/不等于其他值之一
甚至从一般意义上考虑“或”
如果蓝色不是绿色或红色或不是蓝色,说不
您需要执行以下操作:
if (operation != '+' && operation != '-' && operation != '/' && operation != '*') {
return false;
}
return true;
这边是这样的
如果蓝色不是绿色,也不是红色,也不是蓝色,则表示“否”次要样式问题(与问题无关):if
子句中表达式的结果是布尔值。您只需返回(操作!='-'&&operation!=…)
。如果(x)返回true,则看起来像的代码;否则返回false代码>应该发出一个红旗。没有“如果循环”这样的东西。循环是重复执行的语句:for
,while
,do while
。if语句仅仅是if语句。要完成Keith Thompson,您的意思是说您的if块。次要样式问题(与问题无关)if
子句中表达式的结果是布尔值。您只需返回(操作!='-'&&operation!=…)
。如果(x)返回true,则看起来像的代码;否则返回false代码>应该发出一个红旗。没有“如果循环”这样的东西。循环是重复执行的语句:for
,while
,do while
。if语句仅仅是if语句。要完成基思·汤普森,你的意思是说你的if块。