if 和 else if 语句。它在下面显示的代码中如何工作?
If and else if statements. How does it work in my code shown below?
这段代码的objective是当输入的年龄小于0或大于110时输出错误信息。但是,如果我输入一个奇怪的数字,比如600,它似乎并没有通过 if 语句,但通过 else if 语句。
所以当 age=600 时,我得到 "I hear you had a birthday and you are 600 years old" 而不是 "error you are kidding"。我想知道目前它是如何被阅读的以及我该如何修复它。
int main {
cout << "Enter the age of the recipient";
cin >> age;
if ((age <= 0) && (age >= 110))
{
cout << "error: you're kidding";
}
else if ((age > 0) && (age < 110));
{
cout << "I hear you just had a birthday and you are " << age
<< " years old\n";
}
}
您将 &
运算符与 |
运算符混淆了。
一个数字不能同时小于 0 和大于 110。
您需要检查它是小于 0 还是大于 110。
所以,
if ((age<0) || (age>110))
一旦你检查了第一个条件,你就不需要检查相反的条件,即如果年龄在两个数字之间,那么你可以在之后使用 else
。
您得到 "I hear you had a birthday and you are 600 years old" 输出的原因是因为您在 else if
语句末尾有一个分号。
你有 2 个错误:
在第一个如果你需要写||
而不是&&
第二个if不需要,你需要删除;
这是好的代码:
int main
{
int age;
cout << "Enter the age of the recipient";
cin >> age;
if ((age <= 0) || (age >= 110))
{
cout << "error: you're kidding";
}
else
{
cout << "I hear you just had a birthday and you are " << age
<< " years old\n";
}
}
这段代码的objective是当输入的年龄小于0或大于110时输出错误信息。但是,如果我输入一个奇怪的数字,比如600,它似乎并没有通过 if 语句,但通过 else if 语句。 所以当 age=600 时,我得到 "I hear you had a birthday and you are 600 years old" 而不是 "error you are kidding"。我想知道目前它是如何被阅读的以及我该如何修复它。
int main {
cout << "Enter the age of the recipient";
cin >> age;
if ((age <= 0) && (age >= 110))
{
cout << "error: you're kidding";
}
else if ((age > 0) && (age < 110));
{
cout << "I hear you just had a birthday and you are " << age
<< " years old\n";
}
}
您将 &
运算符与 |
运算符混淆了。
一个数字不能同时小于 0 和大于 110。
您需要检查它是小于 0 还是大于 110。
所以,
if ((age<0) || (age>110))
一旦你检查了第一个条件,你就不需要检查相反的条件,即如果年龄在两个数字之间,那么你可以在之后使用 else
。
您得到 "I hear you had a birthday and you are 600 years old" 输出的原因是因为您在 else if
语句末尾有一个分号。
你有 2 个错误:
在第一个如果你需要写
||
而不是&&
第二个if不需要,你需要删除
;
这是好的代码:
int main { int age; cout << "Enter the age of the recipient"; cin >> age; if ((age <= 0) || (age >= 110)) { cout << "error: you're kidding"; } else { cout << "I hear you just had a birthday and you are " << age << " years old\n"; } }