C++循环语句 break问题
每次switch选择有break的就连while的循环一起结束了但我只是想结束switch然后重新while请问该怎么做continue似乎也不行continue应该怎么...
每次switch选择有break的 就连while的循环一起结束了 但我只是想结束switch 然后重新while 请问该怎么做
continue似乎也不行 continue应该怎么用来着
这样改过之后 怎么更坏了
好像最后面的cin>>z根本没有运行
到这里 光标不动了 什么都无法输入 就好像死机一样 展开
continue似乎也不行 continue应该怎么用来着
这样改过之后 怎么更坏了
好像最后面的cin>>z根本没有运行
到这里 光标不动了 什么都无法输入 就好像死机一样 展开
8个回答
展开全部
continue是跳过当次循环,执行下一次循环
替换方案
1、break调多层循环好像和编译器有关,没有找到解决方案,你可以将switch完后要执行的语句放到while循环开头,加一个if判断第一次进循环不执行,最后一次进循环弹出while,while循环多加一次,把switch里的break换成continue
2、switch情况少的时候可以用if替换
尽量不要在多层循环里用break,因为编译器的关系,可能会有不确定因素
对于break有两种定义一种是跳出当前语句块,即{},这种情况switch中的break不会跳出while;另一种定义是break跳出当前循环,switch不是循环,break会跳出所在的while循环。
替换方案
1、break调多层循环好像和编译器有关,没有找到解决方案,你可以将switch完后要执行的语句放到while循环开头,加一个if判断第一次进循环不执行,最后一次进循环弹出while,while循环多加一次,把switch里的break换成continue
2、switch情况少的时候可以用if替换
尽量不要在多层循环里用break,因为编译器的关系,可能会有不确定因素
对于break有两种定义一种是跳出当前语句块,即{},这种情况switch中的break不会跳出while;另一种定义是break跳出当前循环,switch不是循环,break会跳出所在的while循环。
展开全部
break不会退出两层的,switch中的break是不会退出while的,这个是没有问题的
cin这个语句不该出现在while的判断中吧,要不然需要输入两次z在可以进入循环
你直接while(1)死循环,设计一个退出程序的case分支,也就是exit函数
容错重新输入需要一个循环来解决,而不要在switch中解决
cin这个语句不该出现在while的判断中吧,要不然需要输入两次z在可以进入循环
你直接while(1)死循环,设计一个退出程序的case分支,也就是exit函数
容错重新输入需要一个循环来解决,而不要在switch中解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int z = 1;
while(z)
{
cout << "你想做什么......." << endl;
cin >> z;
switch(z)
{......}
}
while(z)
{
cout << "你想做什么......." << endl;
cin >> z;
switch(z)
{......}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
break不可能跳出while循环,只跳出switch选择句。把最后一句前}前的cin>>z删除就应该能奏效。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的不是连while的循环一起结束,而是多了一个cin>>z;
在你的倒数第二那个 cin >> z; 是不要的
程序会停住,等待你再输入一个z。
在你的倒数第二那个 cin >> z; 是不要的
程序会停住,等待你再输入一个z。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的switch没有加大括号{}
switch(z)
{
case 1:
//your code
break;
case 2:
//your code
break;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询