这个c ++代码有什么问题?休息声明

时间:2015-05-13 02:18:49

标签: c++

#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

为什么我的尝试在这个例子有效的情况下无法编译?

4 个答案:

答案 0 :(得分:3)

错误消息说明了一切:

  

break语句不在循环或开关

在C ++中只有两个地方可以使用break语句:在循环内(无论是forwhile还是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语句。您只能在breakcontinue中使用forwhile等跳转语句。 if语句只执行一次,而forwhile循环可以持续一段时间(这就是您想要break或{{1从它开始)。

continuebreak将执行最内层循环的操作。拥有以下代码:

continue