我无法让我的 if 语句起作用。而且不管 周末 if 语句不断出现的数字。 我知道我之前问过类似的问题,但无论我尝试过什么,它都行不通
#include <iostream>
#include <string>
using namespace std;
int main ()
{
int day;
cout << " Enter day of the week " << endl;
cin >> day;
switch (day)
{
case 1 :
case 6 :
case 7 :
cout << "weekend";
break;
case 2 :
case 4 :
cout << "going to C++ Class";
break;
case 3 :
case 5 :
cout << "studying for C++ Class";
break;
default :
cout << "invalid day number";
}
if ( day == 1 || 6 || 7)
cout << "weekend" << endl;
else
if (day == 2 || 4)
cout << "Going to C++ Class";
else
if (day == 2 || 5)
cout << "studying for C++ Class";
else
if ( day < 1 || day > 7)
cout << "bad day number";
system("pause");
return 0;
最佳答案
改变
if ( day == 1 || 6 || 7)
到
if ( day == 1 || day == 6 || day == 7)
对于一些类似的 if
条件也是如此。
你原来的测试条件if (day == 1 || 6 || 7)
等同于if ((day == 1)||6||7)
,总是评估为 true,因为所有非零数字(在本例中为 6
和 7
)都评估为 true。
关于C++ if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19262023/