If和else-If语句.它是如何在下面的代码中工作的
If and else if statements. How does it work in my code shown below?
此代码的目标是在输入的年龄小于0或大于110时输出错误消息。然而,如果我输入一个奇怪的数字,比如600,它似乎不会通过if语句,而是通过else-if语句。所以当年龄=600时,我得到的是"我听说你过生日了,你已经600岁了",而不是"你在开玩笑"。我想知道目前是如何阅读的,以及我如何修复它。
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 oldn";
}
}
您有两个错误:
-
如果你需要写
||
而不是&&
-
第二个如果没有必要,并且您需要删除
;
这是谷歌代码:
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 oldn"; } }
您混淆了&
运算符和|
运算符。
一个数字不能同时小于0和大于110。
您需要检查它是小于0还是大于110。
所以,
if ((age<0) || (age>110))
一旦你检查了第一个条件,你就不需要检查相反的条件,即年龄是否在这两个数字之间,所以你可以在那之后使用else
。
你得到"我听说你过生日了,你已经600岁了"输出的原因是因为你的else if
语句末尾有一个分号。
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 为什么在这个代码结束循环中没有得到结束
- 在混合代码库中将C转换为C++时出现许多包含错误
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 为C++03编译器编写部分unique_ptr,该编译器与较新的编译器在公共代码库上运行
- 我是 c++ 的新手.学习基本知识后,我想做井字游戏.对于印刷板,我在下面写代码,但它显示错误
- 为什么我不能在同一代码行中创建和打开流?
- 为什么在此C++代码中触发此 if 语句?
- 为什么我们不在下面给出的代码中使用指针来实例化C++的实体对象?
- 错误:从"int"到"int*"的转换无效[-允许].我在下面提供了我的代码,我
- 如何在软件代码中使用ofstream创建文件
- 为什么Microsoft在新代码中使用结构而不是类?
- 代码在Visual Studio 2017中不起作用,但在VS代码中工作
- 为什么我在此代码中收到 SIGABRT 错误
- 为什么 pop_back() 在此代码中不起作用?
- 在一行代码中理解 index++
- 无法在野牛代码中打印正确的值
- 我觉得我放入结构中的输入代码可以压缩,关于如何在保持代码简短的同时保持数据个性化的任何建议?
- 为什么下面代码的输出停在0