for循环中的switch的break和continue作用范围

for循环中的switch的break和continue作用范围

不空泛的讲理论了,上代码。看下面这个代码:

#include <stdio.h>     
#include <stdlib.h>   
int main ()
{
  char str[] = "SSSWLLIJKA";
  char c;
  int k;
  for(k=2;(c=str[k]) != '\0';k++)
  {
    switch(c)
    {
        case 'I' :++k;break;//跳出switch,执行for循环内switch外的其他语句
        case 'L' :continue;
        default:putchar(c);continue;    
    }
    putchar('*');
  }
  return 0;
}

我们再看一下运行结果:

SW*KA

在这里我们可以看出这里的break的作用仅仅对switch有作用,并没有跳出for循环。而continue的作用域包含for循环内的其他语句。


版权声明:本文为huang714原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。