switch case语句一直重复使用直到用户主动退出,这种行为,需要采用循环方式才可以达到。
switch case是顺序执行语句,执行完选择项后,就会结束这段语句。
C语言提供三种循环语句方式: for (), while(), do .. while()
根据代码行为特点,可选用相应的语句来实现,如,本题目用do .. while()最合适
参考代码:
#include
void main()
{
int c;
do {
scanf("%d",&c);
switch(c)
{
default: printf("xx");break;
case 1: printf("1"); break;
case 2: printf("2"); break;
case 3: printf("3"); break;
case 4: printf("4"); break;
case 5: printf("5-exit"); break;
}
}while( c!=5 );
}
加入一个死循环就可以了,如for(;;){
scanf("%d",&c);
if(c==5)
break;
switch(c)
{
case......
......
......
}
}
我的方法有个特点,也可以说是缺点,就是输入5的时候直接就跳了出来,不会去打印什么。
用while (c != "5") { ... }把int c;后面的语句包起来,也就是
void main()
{int c;
while (c != "5")
{
scanf("%d",&c);
switch(c)
{
default: printf("xx");break;
case 1: printf("1"); break;
case 2: printf("2"); break;
case 3: printf("3"); break;
case 4: printf("4"); break;
case 5: printf("5"); break;
}
}
}
#include
void main()
{int c;
do
{
scanf("%d%*c",&c);
switch(c)
{
case 1: printf("1"); break;
case 2: printf("2"); break;
case 3: printf("3"); break;
case 4: printf("4"); break;
case 5: printf("5"); break;
default: printf("xx");break;
}
printf("\n");
} while (c!=5);
}