c++while加嵌套if里面如果有break,跳出的是if还是while while和if嵌套,if中的return

while\u5faa\u73af\u91ccif\u8bed\u53e5\u4e2d\u5d4c\u5957\u7684continue\uff0c\u662f\u4f7f\u5f97if\u8bed\u53e5\u5148\u6267\u884c\u5b8c\u5728\u8df3\u51fa\u5faa\u73af\uff1f\u8fd8\u662f\u4e0d\u6267\u884cif\u8bed\u53e5\u76f4\u63a5\u8df3\u51fa\u5faa\u73af

while\u5faa\u73af\u91ccif\u8bed\u53e5\u4e2d\u5d4c\u5957\u7684continue
\u662f\u8df3\u51fa\u6700\u8fd1\u7684\u4e00\u5c42\u5faa\u73af\uff08\u6216switch\u7ed3\u6784\uff09

\u8df3\u51fa\u6574\u4e2awhile \u53ef\u4ee5\u7528 goto \u548c break.
return \u662f\u9000\u51fa\u672c\u51fd\u6570\u3002 \uff08while \u82e5\u5728\u4e3b\u51fd\u6570\u91cc\uff0creturn \u5c31\u662f\u7a0b\u5e8f\u7ed3\u675f\uff0c\u5728\u5b50\u51fd\u6570\u91cc\uff0creturn\u5c31\u662f\u9000\u51fa\u5b50\u51fd\u6570\uff09

while(){
if(){
....
break;
}
}

while(){
if(){
....
goto Lab10;
}
}
Lab10:; // \u5192\u53f7\u548c\u5206\u53f7

跳出的是while。
break语句的调用,起到跳出循环或者分支语句作用。
也就是说,break只有两种使用环境:
1 用于循环体内,包括for, while和do-while循环,作用为跳出break所在循环体。注意,如果是循环嵌套,而break出现在内层,那么只能跳出内层循环,无法跳出外层循环。
2 用于开关语句,即switch - case语句,起到跳出开关语句作用。用于switch嵌套时,与上述循环嵌套效果相同,只可以跳出所在开关语句。

从以上可以看出,break语句对if(判断语句)是没有效果的,所以不可能起到跳出if的作用,只会是跳出whille。

break中断语句是跳出当前循环体,也就是说break语句只能当前循环体有效。
这里已经说得很清楚的了,假设你只有一个循环,不管该循环体内有多少个if语句,只要有一个break,那么就会直接跳出该循环。

break跳出的是循环,不过只是跳出一个循环。例如
while(1)
{
while(1)
{
break; //这个break跳出内循环,将进入外循环继续执行
}
}

应该是给跳出循环 ,不知道你有没有试过,多长 if else 嵌套是不能用break的.循环可以用,推理的是跳出循环用的。

break用来跳出最里层while或for或switch循环

  • C璇█while璇彞鍙互宓屽while璇彞鍚
    绛旓細C璇█while璇彞鏄彲浠宓屽while璇彞鐨勶紝渚嬪锛歮ain(){ int a,b;while(1){ scanf("%d",&a);while(a>0){ b=a*a;printf("b=%d",b);a--;} } }
  • C璇█宓屽if璇彞
    绛旓細include<stdio.h> int main(){ int x=1,y=1,z=10;if(z<0) //涓嶆弧瓒筹紝浠ヤ笅4琛屼笉鎵ц if(y>0)x=3;else x=5;printf("%d\t",x); //杈撳嚭1锛岃烦鏍 if(z=y<0) //y<0涓嶆弧瓒筹紝涓哄亣锛寊琚祴鍊间负0 x=3; //姝よ涓嶆墽琛 else if(y==0) //y==0涓嶆弧瓒筹紝鎵ц...
  • if. else璇彞鍙互宓屽鍚?
    绛旓細濡傛灉涓嶆弧瓒崇涓涓if锛岃屾弧瓒崇浜屼釜if锛屽垯鎵ц绗簩涓猧f锛堝嵆else if锛夌殑浠g爜锛屽鏋滈兘涓嶆弧瓒筹紝灏变笉鎵ц锛屽鏋滃悗闈㈡湁else锛堜笉甯f鐨別lse锛夛紝鍒欏彧瑕佸墠闈㈢殑if鍜宔lse if閮芥病鎵ц锛屽氨鎵ц鏈鍚庝竴涓猠lse銆俰f鈥lse鏇村姞鐏垫椿锛屽彲鐢ㄤ簬鍒ゆ柇琛ㄨ揪寮忔槸鍚︽垚绔嬶紝姣斿if(a+b>c),if鈥lse鐨勫簲鐢ㄨ寖鍥存洿骞裤
  • C璇█涓,if璇彞寰幆浣閲岄潰鑳戒笉鑳藉寘鍚玦f璇彞鍧? 姣斿: if(a==0) {...
    绛旓細鍙互鐨剘~if璇彞鐨勪竴鑸舰寮 锛1锛 if锛堣〃杈惧紡锛 璇彞1 锛2锛 if锛堣〃杈惧紡锛夎鍙1 else 璇彞2 锛3锛 if锛堣〃杈惧紡1锛 璇彞1 else if锛堣〃杈惧紡1锛 璇彞2 ...else if锛堣〃杈惧紡m锛 璇彞m else 璇彞m+1 if璇彞鐨宓屽 涓鑸舰寮忥細if锛堬級if锛堬級 璇彞1 else 璇彞2 else 璇彞3 ...
  • C璇█寰幆鐨宓屽,鎴戣緭鍑虹殑鍜岃佸笀鐨勪笉涓鏍,姹傚ぇ浣В鎯,鎴戞壘浜嗗ソ鍑犲ぉ浜...
    绛旓細鏈変袱涓敊璇細1锛墄 = 2; 涓嶇劧1閮藉垽鏂垚浜嗙礌鏁般傚彟澶栵紝鍒ゆ柇绱犳暟閭i噷鏁堢巼澶綆锛屼綘鎵句釜姹傜礌鏁颁唬鐮佹瘮杈冧竴涓嬨傛瘮濡傜礌鏁11锛屽綋鍒ゆ柇鍒4浠嶆湭鎵惧埌绾︽暟锛屽氨涓嶉渶瑕佹壘涓嬪幓浜 2锛墄++鐨勪綅缃簲鏀句簬if (isPrime == 1)鍒ゆ柇涔嬪悗銆
  • c涓璱f宓屽闂
    绛旓細if閮ㄥ垎鏀规垚濡備笅锛//濡傛灉鍥句笂鏄姹傚伐榫勫ぇ浜20锛岃鏀规垚if(a>20)if(a>=20){ d=180;if(b>2000)d=200;} else { d=120;f(b>1500)d=150;}
  • C璇█涓叧浜庝袱涓if杩炵敤鎬庝箞鐞嗚В
    绛旓細if鈥︹f杩炵敤锛氭瘡涓涓猧f璇彞閮芥槸鐙珛鐨勶紝涓轰簡缂栫爜鐨勮鑼冿紝寰堝皯浣跨敤if鈥︹f杩欐牱鐨勬牸寮忥紝涓鑸娇鐢╥f鈥︹lse鎴栬呬娇鐢╯witch鈥︹ase璇彞浠f浛銆俰f璇彞鐨宓屽锛氭墍璋搃f璇彞宓屽鍗崇1涓猧f鐨刬f瀛愬彞渚濈劧鏄痠f璇彞锛岀2涓猧f鐨刬f瀛愬彞渚濈劧鏄痠f璇彞 锛屼緷娆$被鎺ㄣ傝В绛旓細鍥犱负a=2锛宐=3锛屾墍浠...
  • c璇█ 寰堝if宓屽鍜宨f鍚庨潰璺熺潃else宓屽
    绛旓細浣嗘槸鐢if else鏃讹紝濡傛灉绗竴涓猧f婊¤冻鏉′欢閭d箞涓嬮潰鐨刬f else灏变笉浼氬仛鍒ゆ柇浜嗐傚鏋滀綘鎶婂垽鏂璦>0杩欎釜璇彞鍐欏湪鍓嶉潰鐨勮瘽杈撳嚭鐨勫氨鏄滀竴浣嶆暟鈥濊屼笉鏄笅闈㈢殑璇彞浜嗐俰nclude <stdio.h> int main(int argc, const char * argv[]) { float a;scanf("%f",&a);while (a > 99999 || a < 0){ pri...
  • C璇█瀵宓屽if璇彞鐨勮瀹氭槸: else鎬绘槸涓庛 銆戦厤瀵
    绛旓細绛旀鏄疍锛屽叾鍓嶉潰鏈杩戠殑灏氭湭閰嶅鐨if C璇█涓紝鎵鏈夌殑鎵ц璇彞閮藉彧鑳藉嚭鐜板湪鍑芥暟涔嬩腑銆傚悓鏍凤紝鍑芥暟鐨勮皟鐢ㄤ篃鍙兘鍑虹幇鍦ㄦ煇鍑芥暟鐨勫嚱鏁颁綋鍐呫傚嚱鏁扮殑璋冪敤浠ヤ袱绉嶆柟寮忓嚭鐜帮細鍑芥暟鐨宓屽涓庡嚱鏁扮殑閫掑綊銆侰璇█涓紝鎵鏈夊嚱鏁扮殑瀹氫箟閮芥槸浜掔浉骞宠鍜岀嫭绔嬬殑锛屼竴涓嚱鏁扮殑瀹氫箟涓嶈兘鍖呭惈鍙︿竴涓嚱鏁扮殑瀹氫箟锛屽嵆涓嶅厑璁稿嚱鏁扮殑宓屽瀹氫箟...
  • c璇█for寰幆宓屽if璇彞
    绛旓細i); if (i < 100) { printf("閫鍑哄唴灞傚惊鐜紝鍥炲埌澶栧眰寰幆\n"); break; } else { printf("閫鍑哄灞傚惊鐜痋n"); goto EndForLoop; } } }EndForLoop: printf("宸茬粡閫鍑哄灞傚惊鐜"); return 0;} ...
  • 扩展阅读:c++while循环 ... 函数嵌套c++菜鸟 ... c语言while里面嵌套if ... c++for循环嵌套 ... c++循环嵌套星型金字塔 ... while中嵌套多个if ... while内嵌套while写法 ... while(1)是无限循环吗 ... while里面套if不会循环了 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网