深入c語(yǔ)言continue和break的區(qū)別詳解
自認(rèn)為C語(yǔ)言還算入門(mén)的人,看來(lái)還是高估自己了.沒(méi)想到在這個(gè)地方還有這么有趣的東西.有些話看來(lái)要仔細(xì)深究才能真正入門(mén)啊....
================================================================================
#include <stdio.h>
int main(void)
{
int flag=0;
for(int j=0; j <2; j++) {
if(j==0) {
switch(j) {
case 0:
continue;
}
flag=1;
}
}
printf( " flag:%d\n ",flag);
}
輸出:
flag:0
如果代碼為:
case 0: break;
輸出:
flag:1
======================================================================
再看:
#include <stdio.h>
void main()
{
int flag = 0;
int j = 0 ;
for(j=0; j <2; j++) {
if(j==0) {
if(j==0) {
continue;
}
flag=1;
}
}
printf( " flag:%d\n ",flag);
}
輸出:
flag:0
如果代碼為:
break;
輸出:
flag:0
==========================================
在C語(yǔ)言書(shū)中,對(duì)于continue和break是這么描述的:
break語(yǔ)句可以從最內(nèi)層的循環(huán)或者switch語(yǔ)句中退出.
continue語(yǔ)句只能出現(xiàn)在for, while, do循環(huán)中
=========================================
結(jié)論:continue只對(duì)直接包含它的循環(huán)體有效(也就是for,while, 而switch{}中的不算循環(huán)體);而break有效的是直接包含它的for,while,switch塊。
比如在不包含switch的代碼中出現(xiàn)break或者continue,那么break跳出循環(huán)體,而continue跳出本次循環(huán).
而對(duì)于在循環(huán)中嵌套switch語(yǔ)句的代碼中,break僅跳出最內(nèi)層的塊,這個(gè)塊若是switch,就僅跳出switch.
而continue即使出現(xiàn)在switch塊中,因?yàn)閏ontinue的作用范圍僅針對(duì) for while 之類(lèi)的循環(huán)語(yǔ)句,故不起作用,依舊跳出本次循環(huán).
不注意的話也會(huì)認(rèn)為同樣是跳出switch語(yǔ)句塊了.
相關(guān)文章
C語(yǔ)言圣誕樹(shù)的實(shí)現(xiàn)示例
本篇主要介紹了C語(yǔ)言圣誕樹(shù)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12C++ 設(shè)置控制臺(tái)(命令行)窗口 光標(biāo)位置,及前背景顏色
這篇文章主要介紹了C++ 設(shè)置控制臺(tái)(命令行)窗口 光標(biāo)位置,及前背景顏色,需要的朋友可以參考下2019-04-04C++實(shí)現(xiàn)LeetCode(9.驗(yàn)證回文數(shù)字)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(9.驗(yàn)證回文數(shù)字),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C語(yǔ)言中auto,register,static,const,volatile的區(qū)別詳細(xì)解析
以下是對(duì)C語(yǔ)言中auto,register,static,const,volatile的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-09-09解析C++哈夫曼樹(shù)編碼和譯碼的實(shí)現(xiàn)
本篇文章主要介紹了C++哈夫曼樹(shù)編碼和譯碼的實(shí)現(xiàn),詳細(xì)的講訴了哈夫曼樹(shù)編碼的原理,有需要的同學(xué)可以了解一下。2016-11-11基于C++編寫(xiě)一個(gè)鍵盤(pán)提示音程序
首先講一下思路,這次制作的小黑子相當(dāng)于鍵盤(pán)提示音,輸入J,N,T,M,會(huì)發(fā)出“雞你太美”的聲音,連續(xù)按下JNTM則會(huì)發(fā)出“你干嘛啊,哎呦”的聲音,感興趣的可以了解一下2023-03-03