C++循环语句 break问题

2025-03-29 03:43:30
推荐回答(6个)
回答1:

continue是跳过当次循环,执行下一次循环
替换方案
1、break调多层循环好像和编译器有关,没有找到解决方案,你可以将switch完后要执行的语句放到while循环开头,加一个if判断第一次进循环不执行,最后一次进循环弹出while,while循环多加一次,把switch里的break换成continue
2、switch情况少的时候可以用if替换
尽量不要在多层循环里用break,因为编译器的关系,可能会有不确定因素
对于break有两种定义一种是跳出当前语句块,即{},这种情况switch中的break不会跳出while;另一种定义是break跳出当前循环,switch不是循环,break会跳出所在的while循环。

回答2:

break不会退出两层的,switch中的break是不会退出while的,这个是没有问题的
cin这个语句不该出现在while的判断中吧,要不然需要输入两次z在可以进入循环

你直接while(1)死循环,设计一个退出程序的case分支,也就是exit函数

容错重新输入需要一个循环来解决,而不要在switch中解决

回答3:

int z = 1;

while(z)

{
cout << "你想做什么......." << endl;

cin >> z;
switch(z)
{......}
}

回答4:

break不可能跳出while循环,只跳出switch选择句。把最后一句前}前的cin>>z删除就应该能奏效。

回答5:

你的不是连while的循环一起结束,而是多了一个cin>>z;
在你的倒数第二那个 cin >> z; 是不要的
程序会停住,等待你再输入一个z。

回答6:

你的switch没有加大括号{}

switch(z) 
{
case 1:
//your code
    break;
case 2:
//your code
    break;
}