譬如這樣:Start:xxxxxx;L1:xxxxx;if(i==1)goto Start;xxxxx;if(a!=0)goto L2;xxxxx;L2:xxxxx;如何用C++來表達呢?就2樓的答復,"等代碼量大了,問題可就多了"那么大了之后,不用goto來轉到;則用到什么語句呢?請高手解答一下~
3 回答

三國紛爭
TA貢獻1804條經驗 獲得超7個贊
goto語句是無條件的跳轉 也就是同匯編中的 jmp語句。
語法為:"goto 自定義的標簽" 如 goto L2;
return 是一個函數的完成,返回上一層調用處。 同匯編中的 ret
你寫的例子代碼 是可以被c++編譯器正常編譯的,但是一般寫程序中
非到萬不得已不是使用goto語句。因為goto語句打亂了程序的流程
是代碼不好讀懂,而且不容易調試。切記少用。 你現在的代碼量少
看不出來,等代碼量大了,問題可就多了,非常麻煩!
我的意思是說,盡量的不要用goto語句,就是說如果你寫的代碼很多很多的時候,如果里面使用了大量的goto語句,在你再次閱讀你的代碼,修改你的代碼時,那將是非常痛苦的,因為流程被goto任意的跳轉,根本就無法閱讀和修改。問題多多。那是很麻煩的。

幕布斯6054654
TA貢獻1876條經驗 獲得超7個贊
int x;
x= function();
int function(){
int x;
to: xxxxxxxx;
xxxxxxxx;
goto to;
xxxxxxxx;
cxxxxxxxxx;
return x;
}
函數中,調用goto,則回到goto語句中的標記處,而后邊的return則是返回一個數值給調用這個函數的變量x
- 3 回答
- 0 關注
- 269 瀏覽
添加回答
舉報
0/150
提交
取消