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\n",c,k);break;
		case'B': k *= 2; printf("%c %d\n",c,k);break;   //跳出switch()執行其后的語句
		case'C': k--; printf("%c %d\n",c,k);	       //不論條件為何值,繼續執行下一條case判斷(case'D':)后面的語句                            
		case'D': k %= 3; printf("%c %d\n",c,k);continue; //不執行switch塊后面的語句,跳出“本次”循環直接到外層循環
		case'E': k /= 2; printf("%c %d\n",c,k);
		case'F': k++; printf("%c %d\n",c,k);
		default: k += 2; printf("%c %d\n",c,k);			//所有條件不符合,執行default后面的語句
		}
		k++;
		printf("*********************\n");
	}
	printf("%d\n", k);
	return 0;
}

  詳見注釋

  1. 在switch語句中,“case 常量表達式”只相當於一個語句標號, 表達式的值和某標號相等則轉向該標號執行,但不能在執行完該標號的語句后自動跳出整個switch 語句,所以會出現繼續執行所有后面case語句的情況。 

  2. 如果你在switch中使用continue,continue生效是對於while循環
      如果你在switch中使用break,break生效是對於switch。

  3. 如果在switch外使用continue和break,生效都是對於while循環。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM