#include <iostream>
using namespace std;
int main()
{
int num;
int count;
cout << "Enter a number: ";
cin >> num;
if(num>76)
{
cout<<"You lose!\n";
break;
}
else
cout<<"Keep Trucking!\n ";
count++
}
我继续收到中断的错误消息。编译器告诉我:
break statement not within loop or switch
我正在尝试模仿此代码:
while (count <= 10)
{
cout << "Enter a number: ";
cin >> num;
if(num > 76)
{
cout<<"You lose!\n";
break;
}
else
cout<<"Keep Trucking!\n ";
count++
}
// break jumps to here
为什么我的尝试在这个例子有效的情况下无法编译?
答案 0 :(得分:3)
错误消息说明了一切:
中
break
语句不在循环或开关
在C ++中只有两个地方可以使用break
语句:在循环内(无论是for
,while
还是do/while
)和{{} 1}}。您的switch
符合这两项标准,因此无效。
请注意,您刚发布的代码的结构如下:
break
而你原来的例子没有循环。
答案 1 :(得分:0)
Here是来自MSDN的break语句的描述。
break语句结束最近的封闭循环或执行 出现的条件陈述。控制传递到 语句结束后的语句,如果有的话。
注释break语句,因为你没有使用while或for语句。
if(num>76)
{
cout<<"You lose!\n";
//break;
}
答案 2 :(得分:0)
您可能希望返回(1)而不是退出该功能。 Break用于“打破”循环。 IE如果你有一个'for'循环,你可以'打破'它并停止迭代。
换句话说,return语句将“中断”此函数,并为您提供所需的相同结果。
在您的代码中,没有while循环。在你展示的例子中,有一个while循环。如果您正在尝试复制该代码以进行学习,那么您就错过了该行。
请注意,您可以退货。它不必是1. return关键字只是您打算使用break的替代方法。
答案 3 :(得分:0)
您无法在break
循环中放置if
语句。您只能在break
或continue
中使用for
或while
等跳转语句。 if
语句只执行一次,而for
或while
循环可以持续一段时间(这就是您想要break
或{{1从它开始)。
continue
和break
将执行最内层循环的操作。拥有以下代码:
continue