TA貢獻1818條經驗 獲得超3個贊
goto是無條件跳轉,只能在goto語句出現處改變控制流,無法通過本身返回。要用goto返回,可以定義多個label,在不同位置配合不同label使用goto語句。label在函數內定義,作用域就是整個函數,和其它名稱一樣無法改變。由于不是左值,它沒有生存期,僅在編譯期有意義。everyone998 錯誤。編譯器至少會對label標識符進行語義檢查。函數調用和goto是不同的。函數調用或返回時,一般的實現中需要根據調用約定清理堆棧。調用時先保存現場,復制實際參數,然后才是跳轉,并不是直接無條件跳轉那么簡單。也因此goto語句無法跨函數跳轉。
TA貢獻1886條經驗 獲得超2個贊
goto {標號}下面是一個例子:#include <iostream.h>void main(){int i=1,s=0;re:s=s+i;if (i<100){i=i+1;goto re;}cout<<s<<endl;}這個利用goto做一個循環,計算1+2+……+100的值,不過goto在程序設計中盡量不要用,容易使程序結構混亂。
TA貢獻1853條經驗 獲得超9個贊
自己定義一個標記,比如LOOP: i--; goto LOOP;這樣就可以循環i--的操作。 但是這種編程方式已經被廢棄了
舉報
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號