1.代码:
#include<stdio.h>
void main ()
{
char temp[10] = {'y','u','h','a','o','j','i','n','k'};
int i;
char* p = temp;
for(i=0; i<5; i++)
{
switch(*(p+i))
{
case 'y':
printf("y\n");
break;
case 'u':
printf("u\n");
continue;
case 'h':
printf("h\n");
break;
default:
printf("Invalid character!!\n");
break;
}
printf("loop is %d\n",i);
}
}2.结果:
y loop is 0 u h loop is 2 Invalid character!! loop is 3 Invalid character!! loop is 4
3.总结
continue只对for循环有效,遇到continue直接执行下一次循环,switch后面的printf("loop is %d\n",i)不会执行;break语句对for 和 switch都有效,上述例子,break在switch里面,优先对switch有效,所以遇到break则直接退出switch语句,但是后面printf("loop is %d\n",i)语句会继续执行。看了好多人写的解释,太啰嗦了,按照自己的想法写个测试程序,运行一下就都清楚了,还是需要多动脑、多动手。
转载请注明原文地址: https://ju.6miu.com/read-4402.html