C语言中,switch如何完成只执行一个case的循环啊?

switch有四个case ,用户选择进入一个case执行这个case完后,直接再次switch循环。

不管选择哪个case都是这样的循环,请问要怎样能做到呢?

switch似乎只能break或者说从入口顺序执行下来?

C语言的switch语句, 并不具备循环功能。

要实现循环的话,就要使用for循环以及while循环等结构。但是执行这些语句要跳出switch从而实现循环的话,就要使用break; 就像楼主提问所说的那样。除非使用像一楼所说的那样,使用goto语句。但是这不符合结构化编程的要求。当程序复杂时会破坏计算机程序的明晰性、品质以及开发时间,从而出现面条式的代码。

所以,从这一点而言,switch就是只能break或者说从入口顺序执行下来的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-20
goto 就是啦。

Lab1:
switch ( ..){
case 1: ...; goto Lab1;break;
case 2: ...; goto Lab1;break;
case 3: ...; goto Lab1;break;
case 4: ...; goto Lab1;break;
default: break;
}
==============
例如:
#include <stdio.h>
main( )
{
int x=1;
Lab1:
printf("x=%d\n",x);
switch (x){
case 1: x++; goto Lab1;break;
case 2: x++; goto Lab1;break;
case 3: x++; goto Lab1;break;
case 4: x++; goto Lab1;break;
default: break;
}
printf("x=%d\n",x);
return 0;
}

输出:
x=1
x=2
x=3
x=4
x=5
x=5本回答被网友采纳
第2个回答  2013-08-19
可以这样:
while(1)
{
switch(……)
{
case ……:
break;
case ……:
break;
default:
break;
}
}本回答被网友采纳
第3个回答  2013-08-19
switch外层再加一层循环就行了
第4个回答  2013-08-19
switch是从入口顺序下来
相似回答