zoukankan      html  css  js  c++  java
  • c语言中的switch语句中的break和continue的作用

    #include <stdio.h>
    
    int main()
    {
    	int k;
    	char c;
    	for(k=1,c='A'; c < 'F'; k++)
    	{
    		switch(++c)
    		{
    		case'A': k++; printf("%c %d
    ",c,k);break;
    		case'B': k *= 2; printf("%c %d
    ",c,k);break;   //跳出switch()执行其后的语句
    		case'C': k--; printf("%c %d
    ",c,k);	       //不论条件为何值,继续执行下一条case判断(case'D':)后面的语句                            
    		case'D': k %= 3; printf("%c %d
    ",c,k);continue; //不执行switch块后面的语句,跳出“本次”循环直接到外层循环
    		case'E': k /= 2; printf("%c %d
    ",c,k);
    		case'F': k++; printf("%c %d
    ",c,k);
    		default: k += 2; printf("%c %d
    ",c,k);			//所有条件不符合,执行default后面的语句
    		}
    		k++;
    		printf("*********************
    ");
    	}
    	printf("%d
    ", k);
    	return 0;
    }
    

      详见注释

      1. 在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以会出现继续执行所有后面case语句的情况。 

      2. 如果你在switch中使用continue,continue生效是对于while循环
          如果你在switch中使用break,break生效是对于switch。

      3. 如果在switch外使用continue和break,生效都是对于while循环。

  • 相关阅读:
    软件测试人员的年终绩效考核怎么应对
    收藏
    顶踩组件 前后两版
    订阅组件
    hdu 1963 Investment 完全背包
    hdu 4939 Stupid Tower Defense 动态规划
    hdu 4405 Aeroplane chess 动态规划
    cf 414B Mashmokh and ACM 动态规划
    BUPT 202 Chocolate Machine 动态规划
    hdu 3853 LOOPS 动态规划
  • 原文地址:https://www.cnblogs.com/lkprof/p/3475423.html
Copyright © 2011-2022 走看看