在c中,循环的实现可以借助for。在for中嵌套一个switch,这种用法是俺最近学会的。
/
//
//
//
//
//test.c 2014/1/28
/
#include<stdio.h>
void main()
{
for(;;)
{
int i;
scanf("%d",&i);
switch(i)
{
case 1:printf("1\n");
//continue; //这里的continue可以跳出switch,跳到for循环的起点处
//break;
case 2:printf("2\n");
//continue;
//break;
case 3:printf("3\n");
//continue;
//break;
}
}
printf("haha\n");
}
在此程序中,continue与break起到相同的作用,都是提前终止switch。但朋友请看下面的程序:
/
//
//
//
//
//test.c 2014/1/28
/
#include<stdio.h>
void main()
{
for(;;)
{
int i;
scanf("%d",&i);
switch(i)
{
case 1:printf("1\n");
//continue; //只去掉continue前的注释,输入1,打印出1;
//break; //只去掉break前的注释,输入1,打印出1,haha
case 2:printf("2\n");
//continue;
//break;
case 3:printf("3\n");
//continue;
//break;
}
printf("haha\n");
}
}
由这个程序可以看出,continue和break都可以提前终止switch(我说的当然是在for嵌套的前提下,单个的switch不能搭配continue),但continue直接跳到for循环起点处,不执行switch下面的内容;而break仅仅跳出switch循环,继续执行switch后的内容。