在C语言中,break是跳出当层循环,但是若是下面这种情况呢: c语言中,break是跳出一个函数还是一个循环?

c\u8bed\u8a00\u4e2d\uff0cbreak\u662f\u8df3\u51fa\u4e00\u4e2a\u51fd\u6570\u8fd8\u662f\u4e00\u4e2a\u5faa\u73af\uff1f

break\u662f\u4ece\u5faa\u73af\u4e2d\u8df3\u51fa\uff0c\u5982\u8981\u4ece\u51fd\u6570\u4e2d\u8df3\u51fa\uff0c\u53ef\u4ee5\u7528return\u3002
break \u5728\u4e00\u4e9b\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00\u4e2d\u662f\u4fdd\u7559\u5b57\uff0c\u5176\u4f5c\u7528\u5927\u591a\u60c5\u51b5\u4e0b\u662f\u7ec8\u6b62\u6240\u5728\u5c42\u7684\u5faa\u73af\u3002
1\u3001break\u8bed\u53e5\u5bf9if-else\u7684\u6761\u4ef6\u8bed\u53e5\u4e0d\u8d77\u4f5c\u7528\u3002
2\u3001\u5728\u591a\u5c42\u5faa\u73af\u4e2d\uff0c\u4e00\u4e2abreak\u8bed\u53e5\u53ea\u5411\u5916\u8df3\u4e00\u5c42\u3002
\u5728 C\u8bed\u8a00 \u7684 switch\uff08\u5f00\u5173\u8bed\u53e5\uff09\u4e2d\uff0cbreak \u8bed\u53e5\u8fd8\u53ef\u7528\u6765\u5728\u6267\u884c\u5b8c\u4e00\u4e2a case\uff08\u5206\u652f\uff09\u540e\u7acb\u5373\u8df3\u51fa\u5f53\u524d switch \u7ed3\u6784\u3002

\u6269\u5c55\u8d44\u6599\uff1a
break\u8bed\u53e5\u901a\u5e38\u7528\u5728\u5faa\u73af\u8bed\u53e5\u548c\u5f00\u5173\u8bed\u53e5\u4e2d\uff0c\u5f53break\u7528\u4e8e\u5f00\u5173\u8bed\u53e5switch\u4e2d\u65f6\uff0c \u53ef\u4f7f\u7a0b\u5e8f\u8df3\u51faswitch\u800c\u6267\u884cswitch\u4ee5\u540e\u7684\u8bed\u53e5; \u5982\u679c\u6ca1\u6709break\u8bed\u53e5, \u5219\u5c06\u6210\u4e3a\u4e00\u4e2a\u6b7b\u5faa\u73af\u800c\u65e0\u6cd5\u9000\u51fa\uff0c\u5982\u4e0b\uff1a
1\u3001break\u5982\u679c\u7528\u4e8e\u5faa\u73af\u662f\u7528\u6765\u7ec8\u6b62\u5faa\u73af\u3002
2\u3001break\u5982\u679c\u7528\u4e8eswitch\u4e2d\uff0c\u5219\u662f\u7528\u6765\u7ec8\u6b62switch\u3002
3\u3001break\u4e0d\u80fd\u76f4\u63a5\u7528\u4e8eif\u8bed\u53e5\uff0c\u9664\u975e\u662f\u5faa\u73af\u5185\u7684\u4e00\u4e2a\u5b57\u53e5\u3002
4\u3001break\u7528\u5728\u591a\u5c42\u5faa\u73af\u4e2d\uff0c\u8868\u793a\u9000\u51fa\u91cc\u4ed6\u6700\u8fd1\u7684\u4e00\u6b21\u5faa\u73af\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-break\u51fd\u6570

break\u662f\u4ece\u5faa\u73af\u4e2d\u8df3\u51fa\uff0c\u5982\u8981\u4ece\u51fd\u6570\u4e2d\u8df3\u51fa\uff0c\u53ef\u4ee5\u7528return\u3002
break
\u5728\u4e00\u4e9b\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00\u4e2d\u662f\u4fdd\u7559\u5b57\uff0c\u5176\u4f5c\u7528\u5927\u591a\u60c5\u51b5\u4e0b\u662f\u7ec8\u6b62\u6240\u5728\u5c42\u7684\u5faa\u73af\u3002
1\u3001break\u8bed\u53e5\u5bf9if-else\u7684\u6761\u4ef6\u8bed\u53e5\u4e0d\u8d77\u4f5c\u7528\u3002
2\u3001\u5728\u591a\u5c42\u5faa\u73af\u4e2d\uff0c\u4e00\u4e2abreak\u8bed\u53e5\u53ea\u5411\u5916\u8df3\u4e00\u5c42\u3002
\u5728
C\u8bed\u8a00
\u7684
switch\uff08\u5f00\u5173\u8bed\u53e5\uff09\u4e2d\uff0cbreak
\u8bed\u53e5\u8fd8\u53ef\u7528\u6765\u5728\u6267\u884c\u5b8c\u4e00\u4e2a
case\uff08\u5206\u652f\uff09\u540e\u7acb\u5373\u8df3\u51fa\u5f53\u524d
switch
\u7ed3\u6784\u3002
\u6269\u5c55\u8d44\u6599\uff1a
break\u8bed\u53e5\u901a\u5e38\u7528\u5728\u5faa\u73af\u8bed\u53e5\u548c\u5f00\u5173\u8bed\u53e5\u4e2d\uff0c\u5f53break\u7528\u4e8e\u5f00\u5173\u8bed\u53e5switch\u4e2d\u65f6\uff0c
\u53ef\u4f7f\u7a0b\u5e8f\u8df3\u51faswitch\u800c\u6267\u884cswitch\u4ee5\u540e\u7684\u8bed\u53e5;
\u5982\u679c\u6ca1\u6709break\u8bed\u53e5,
\u5219\u5c06\u6210\u4e3a\u4e00\u4e2a\u6b7b\u5faa\u73af\u800c\u65e0\u6cd5\u9000\u51fa\uff0c\u5982\u4e0b\uff1a
1\u3001break\u5982\u679c\u7528\u4e8e\u5faa\u73af\u662f\u7528\u6765\u7ec8\u6b62\u5faa\u73af\u3002
2\u3001break\u5982\u679c\u7528\u4e8eswitch\u4e2d\uff0c\u5219\u662f\u7528\u6765\u7ec8\u6b62switch\u3002
3\u3001break\u4e0d\u80fd\u76f4\u63a5\u7528\u4e8eif\u8bed\u53e5\uff0c\u9664\u975e\u662f\u5faa\u73af\u5185\u7684\u4e00\u4e2a\u5b57\u53e5\u3002
4\u3001break\u7528\u5728\u591a\u5c42\u5faa\u73af\u4e2d\uff0c\u8868\u793a\u9000\u51fa\u91cc\u4ed6\u6700\u8fd1\u7684\u4e00\u6b21\u5faa\u73af\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-break\u51fd\u6570

break跳出的是最近的一个循环,即B循环
想同时跳出A循环的话,可以使用goto语句,但是,不推荐
方法二:
while(条件1 && 条件4)//A//!!!这里
{
表达式1;
while(条件2)//B
{
if(条件3)
{
条件4=0;//
break;
}
}
}
添加一个条件4,并且想break的时候,将条件4设置为假,这样外循环再次循环判断的时候,就不满足条件而退出循环了

不可以

你可以在循环A 中写一个检查变量的

在循环B中 break之前 改变变量值

然后循环A中用个if检测这个变量值 改变的话则再次break 跳出循环A
int flag=0;
while(条件1)//A
{
表达式1;
while(条件2)//B
{
if(条件3)
{
flag=1;
break;
}
}
if(flag)break;
}
有疑问请采纳 满意记得追问哦

这个break跳出的是B循环,连着写两个break是错误的,想要跳出A循环要在B外写break,可以这么做:表达式1下一行加个int flag=0;然后if(条件3){flag=1;break;},然后在B外加个if(flag)break;这样满足条件3时就可以连续跳出B、A。

跳出B 循环。
若想要从深层循环跳出,可以使用goto 语句。 goto语句虽然会导致流程难以理解,而不建议使用,但跳出深层循环,也是goto唯一可以认可的作用了。

如果不用goto 就设置一个标志,比如在最外面设置 int flag =0;
if(条件)达到了{ 。。。 ; flag =1; break; }
这样,在B循环结束后,跳到A循环时,再加上 if( flag==1) break;

试试不就知道了。
连着两个break没用的。
可以在break前使条件1不满足,从而跳出A处循环。
可以接着在A中检测条件3跳出A。
goto也能达到目的,不过一般不建议使用。

  • 鍦–璇█涓,break鏄烦鍑哄綋灞傚惊鐜,浣嗘槸鑻ユ槸涓嬮潰杩欑鎯呭喌鍛:
    绛旓細杩欎釜break璺冲嚭鐨勬槸B寰幆,杩炵潃鍐欎袱涓break鏄閿欒鐨,鎯宠璺冲嚭A寰幆瑕佸湪B澶栧啓break,鍙互杩欎箞鍋:琛ㄨ揪寮1涓嬩竴琛屽姞涓猧nt flag=0;鐒跺悗if(鏉′欢3){flag=1;break;},鐒跺悗鍦˙澶栧姞涓猧f(flag)break;杩欐牱婊¤冻鏉′欢3鏃跺氨鍙互杩炵画璺冲嚭B銆丄銆 cjn1466572108 | 鍙戝竷浜2012-01-04 涓炬姤| 璇勮 25 0 璇曡瘯涓嶅氨鐭ラ亾浜嗐傝繛鐫...
  • break鍦╟璇█浠涔堟剰鎬
    绛旓細"break"鏄疌璇█涓殑鍏抽敭瀛椼"break"璇嶈瑙i噴鏄細璺冲嚭褰撳墠寰幆銆1銆乥reak鍦ㄤ竴浜涜绠楁満缂栫▼璇█涓槸淇濈暀瀛楋紝鍏朵綔鐢ㄥぇ澶氭儏鍐典笅鏄粓姝㈡墍鍦ㄥ眰鐨勫惊鐜2銆break璇彞瀵筰f-else鐨勬潯浠惰鍙ヤ笉璧蜂綔鐢銆3銆佸湪澶氬眰寰幆涓紝涓涓猙reak璇彞鍙悜澶栬烦涓灞傘4銆佸湪C璇█鐨剆witch锛堝紑鍏宠鍙ワ級涓紝break璇彞杩樺彲鐢ㄦ潵鍦ㄦ墽琛屽畬...
  • break鏄烦鍑褰撳墠寰幆杩樻槸鎵鏈夊惊鐜?
    绛旓細break鏄烦鍑哄綋鍓嶅惊鐜銆備絾鏄鏋滄槸宓屽寰幆锛屽垯鍙兘璺冲嚭褰撳墠鐨勮繖涓灞傚惊鐜紝鍙湁閫愬眰break鎵嶈兘璺冲嚭鎵鏈夊惊鐜傛敞鎰忥細1銆break璇彞瀵筰f-else鐨勬潯浠惰鍙ヤ笉璧蜂綔鐢銆2銆佸湪澶氬眰寰幆涓紝涓涓猙reak璇彞鍙悜澶栬烦涓灞傘傚湪 C璇█ 鐨 switch锛堝紑鍏宠鍙ワ級涓紝break 璇彞杩樺彲鐢ㄦ潵鍦ㄦ墽琛屽畬涓涓 case锛堝垎鏀級鍚庣珛鍗宠烦鍑哄綋...
  • c璇█涓,break鏄烦鍑涓涓嚱鏁拌繕鏄竴涓惊鐜?
    绛旓細break鏄粠寰幆涓烦鍑锛屽瑕佷粠鍑芥暟涓烦鍑猴紝鍙互鐢╮eturn銆俠reak 鍦ㄤ竴浜涜绠楁満缂栫▼璇█涓槸淇濈暀瀛楋紝鍏朵綔鐢ㄥぇ澶氭儏鍐典笅鏄粓姝㈡墍鍦ㄥ眰鐨勫惊鐜1銆break璇彞瀵筰f-else鐨勬潯浠惰鍙ヤ笉璧蜂綔鐢銆2銆佸湪澶氬眰寰幆涓紝涓涓猙reak璇彞鍙悜澶栬烦涓灞傘傚湪 C璇█ 鐨 switch锛堝紑鍏宠鍙ワ級涓紝break 璇彞杩樺彲鐢ㄦ潵鍦ㄦ墽琛屽畬涓涓 ca...
  • c璇█break璺冲嚭鐨勬槸寰幆杩樻槸浠涔?
    绛旓細break璺冲嚭鐨勬槸for寰幆銆俠reak 鍦ㄤ竴浜涜绠楁満缂栫▼璇█涓槸淇濈暀瀛楋紝鍏朵綔鐢ㄥぇ澶氭儏鍐典笅鏄粓姝㈡墍鍦ㄥ眰鐨勫惊鐜1銆break璇彞瀵筰f-else鐨勬潯浠惰鍙ヤ笉璧蜂綔鐢銆2銆佸湪澶氬眰寰幆涓紝涓涓猙reak璇彞鍙悜澶栬烦涓灞傘傚湪 C璇█ 鐨 switch锛堝紑鍏宠鍙ワ級涓紝break 璇彞杩樺彲鐢ㄦ潵鍦ㄦ墽琛屽畬涓涓 case锛堝垎鏀級鍚庣珛鍗宠烦鍑哄綋鍓 switch ...
  • C璇█闂,杩欓噷鐨break鏄鐩存帴璺冲嚭while寰幆鍚?
    绛旓細鍦╳hile 寰幆璇彞涓 濡傛灉鎵ц浜break 鎸囦护鍚 灏辩洿鎺璺冲嚭寰幆锛屽惊鐜綋鍚庨潰鐨勮鍙ュ氨涓嶆墽琛屼簡銆
  • break鍦–璇█涓槸浠涔堟剰鎬?
    绛旓細1锛 break鍙敤浜巗witch璇彞锛岃〃绀璺冲嚭鏁翠釜switch鍧楋紝鑰宑ontinue鍒欎笉鑳界敤浜巗witch璇彞 2锛 瀹冧滑閮藉彲鐢ㄤ簬寰幆璇彞鐨勫惊鐜綋锛屾墍璋撶殑鍖哄埆涔熷簲璇ユ槸瀹冧滑瀵瑰惊鐜鏁扮殑褰卞搷涓嶅悓銆俠reak鐢ㄤ簬绔嬪嵆閫鍑哄綋鍓嶅惊鐜紝鑰宑ontinue浠呰烦杩囧綋娆″惊鐜紙鏈寰幆浣撳唴涓嶆墽琛宑ontinue璇彞鍚庣殑鍏跺畠璇彞锛屼絾涓嬫寰幆杩樹細鎵ц锛夈
  • c璇█涓璪reak鏄浠涔堟剰鎬?
    绛旓細break璇彞閫氬父鐢鍦ㄥ惊鐜鍙ュ拰寮鍏宠鍙ヤ腑銆褰揵reak鐢ㄤ簬寮鍏宠鍙witch涓椂锛屽彲浣跨▼搴璺冲嚭switch鑰屾墽琛宻witch浠ュ悗鐨勮鍙ワ紱濡傛灉娌℃湁break璇彞锛屽垯灏嗘垚涓轰竴涓寰幆鑰屾棤娉曢鍑恒俠reak鍦╯witch涓殑鐢ㄦ硶宸插湪鍓嶉潰浠嬬粛寮鍏宠鍙ユ椂鐨勪緥瀛愪腑纰板埌锛岃繖閲屼笉鍐嶄妇渚嬨傚綋break璇彞鐢ㄤ簬do-while銆乫or銆亀hile寰幆璇彞涓椂锛屽彲浣跨▼搴...
  • 鍦╟璇█涓璪reak鍜宑ontinue鏈変粈涔堝尯鍒?
    绛旓細锛1锛夊彧鑳藉湪寰幆浣撳唴鍜宻witch璇彞浣撳唴浣跨敤break锛涳紙2锛褰揵reak鍑虹幇鍦ㄥ惊鐜綋涓殑switch璇彞浣撳唴鏃讹紝璧蜂綔鐢ㄥ彧鏄璺冲嚭璇witch璇彞浣擄紝骞朵笉鑳界粓姝㈠惊鐜綋鐨勬墽琛屻傝嫢鎯冲己琛岀粓姝㈠惊鐜綋鐨勬墽琛岋紝鍙互鍦ㄥ惊鐜綋涓紝浣嗗苟涓嶅湪switch璇彞涓缃産reak璇彞锛屾弧瓒虫煇绉嶆潯浠跺垯璺冲嚭鏈眰寰幆浣撱2.continue continue璇彞鐨勪綔鐢ㄦ槸璺宠繃...
  • c璇█涓璪reak璇彞鐨勪綔鐢ㄦ槸浠涔?
    绛旓細break璇彞閫氬父鐢ㄥ湪寰幆璇彞鍜屽紑鍏宠鍙ヤ腑銆褰揵reak鐢ㄤ簬寮鍏宠鍙witch涓椂,鍙娇绋嬪簭璺冲嚭switch鑰屾墽琛宻witch浠ュ悗鐨勮鍙ワ紱濡傛灉娌℃湁break璇彞,鍒欏皢鎴愪负涓涓寰幆鑰屾棤娉曢鍑恒俠reak鍦ㄤ竴浜涜绠楁満璇█涓槸淇濈暀瀛楋紝鍏朵綔鐢ㄥぇ澶氭儏鍐典笅鏄粓姝笂涓灞傜殑寰幆锛屼互C璇█鏉ヨ锛宐reak鍦╯witch锛堝紑鍏宠鍙ワ級涓湪鎵ц涓鏉ase鍚...
  • 扩展阅读:break是跳出哪一层循环 ... break在c语言中怎么用 ... 在for循环中不能用break跳出循环 ... break在if中跳出循环 ... 中英文自动翻译器 ... break在c语言中加在哪里 ... 翻译成中文 ... break跳出多层循环 ... c语言break是跳出一层还是整个 ...

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