- 此问题在此处已有答案**:
How can I check whether multiple variables are equal to the same value?(3个答案)
2年前关闭。
float math , physics ,literature , chemistry ;
cout << "Enter math score : ";
cin >> math ;
cout << "Enter physics score : ";
cin >> physics ;
cout << "Enter chemistry score : ";
cin >> chemistry ;
cout << "Enter literature score : ";
cin >> literature ;
我想检查我的变量,但它不工作。
//Check inputs
if ( math , physics , chemistry , literature > 20 ){
cout << "Error ... The score should be in range (0,20).";
3条答案
按热度按时间iyr7buue1#
虽然这是一个有效的C++,但它几乎肯定不是你想要的(更多信息请参见How does the Comma Operator work)。通常你会做你想要做的事情,比如:
但是,您 * 可以 * 通过调用
std::max
来缩短此过程:这是可行的,因为你只关心最大值,如果4个中的最大值小于20,那么这意味着所有的值都小于20。
pw9qyyiw2#
不要写
if ( math , physics , chemistry , literature > 20 )
,而应该写:if ( math > 20 || physics > 20 || chemistry > 20 || literature > 20 )
如果你想检查是否有一个元素大于20
if ( math > 20 && physics > 20 && chemistry > 20 && literature > 20 )
如果你想检查所有的元素是否都大于20。
hgqdbh6s3#
该语言允许使用以下代码:
第一个月
这是the comma operator的标准用法,但并没有给予预期的结果。
您应该将其重写为:
if (math > 20 || physics > 20 || chemistry > 20 || literature > 20) {