a:for(...){...;...;goto a;...;}若不可以,那么連續嵌套若干個循環有沒有辦法;
熱心網友
a:for(。。。){。。。;。。。;goto a;。。。;}label_B:這樣的程序結構是可以運行的,不會產生死循環,根據循環條件能夠自動退出循環體,并順序執行label_B。我的建議是盡量少用無條件轉移語句,這對程序的修改和維護都有好處,比如可將程序改為如下式樣,看上去要順眼多了。for(。。。){。。。;if(原goto以前的語句執行條件){。。。;。。。;};endif}對于多重循環的嵌套結構,一般來說也是可以執行無條件跳轉的,不過一定要保證不要直接跳入循環體內部,像下面的例子那樣,沒有任何意義。因為你不知道跳入后,該循環體循環控制變量的值,有人可能會說,我只想使用其中幾條語句,那么我想問他一句,當正常執行該循環體時,又該如何處理呢?goto a;。。。;for(。。。){。。。;。。。;a:。。。;。。。;}無條件跳入以后,循環控制變量是未知的,也就是說,無法預料a:標號以后的語句執行次數。有人會說,“我只一次性使用這幾條語句,完成任務后再跳轉出來。”這就出問題啦:用當正常執行循環體時,該循環體只會執行一個不完整的循環,并會跳轉到原轉出語句所指定的標號處順序執行。再說,直接跳入循環體的企圖在程序編譯時有可能得到警告的。