c語(yǔ)言goto跨函數(shù)跳轉(zhuǎn) c語(yǔ)言跳轉(zhuǎn)語(yǔ)句goto

c語(yǔ)言如何實(shí)現(xiàn)從一個(gè)函數(shù)跳轉(zhuǎn)到另一個(gè)函數(shù),像匯編的LJMP指令一樣

你寫過(guò)C代碼嗎?

阜康ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!

那是c最基本的功能呀。。。

感覺(jué)你應(yīng)該說(shuō)的再具體些。

//從上面跳到下面。

funone(mun...);//函數(shù)1

funtwo(mun...);//函數(shù)2

switch(跳轉(zhuǎn)表達(dá)式)//任意跳轉(zhuǎn)

{

case?0:????funmun(mun...)//函數(shù)

.

.

.

.

}

還有g(shù)oto

遞歸。。

for, while,。。。

如何在一個(gè)函數(shù)中用goto調(diào)用另一個(gè)函數(shù)?

要知道 C語(yǔ)言是由MAIN函數(shù)開(kāi)始也由它結(jié)束。

每調(diào)用一次分函數(shù),只要運(yùn)行完畢后就會(huì)回到調(diào)用分函數(shù)的地方繼續(xù)往后執(zhí)行。

C語(yǔ)言主要靠函數(shù)調(diào)用和return在函數(shù)之間切換,很難做到在多層調(diào)用中直接返回主函數(shù)。雖然goto語(yǔ)句可以無(wú)條件跳轉(zhuǎn),但是必須在同一個(gè)函數(shù)中使用。

因此解決的方法也是用一個(gè)特殊的值作為需要返回的標(biāo)志,然后在兩層調(diào)用函數(shù)中都遇到該值就返回,但是這個(gè)方法也有兩個(gè)前提:

1)你的兩個(gè)子函數(shù)都是由返回值的函數(shù)

2)你選擇的特殊值和函數(shù)正常的返回的取值不會(huì)沖突,不會(huì)引起二義性。

同樣的操作,C++可以通過(guò)異常處理的throw和catch來(lái)實(shí)現(xiàn)從子函數(shù)的子函數(shù)直接返回主函數(shù),匯編語(yǔ)言可以用jmp指令跳轉(zhuǎn)實(shí)現(xiàn)這個(gè)需求。因此建議你的這個(gè)問(wèn)題還是用C++ 的異常去解決比較好。

C語(yǔ)言中g(shù)oto語(yǔ)句的用法??舉例來(lái)說(shuō)。

1、C語(yǔ)言中g(shù)oto又叫無(wú)條件轉(zhuǎn)移語(yǔ)句,可以讓程序直接跳轉(zhuǎn)到任意標(biāo)記的位置。用法就是“goto?label……label:”。下面用一個(gè)示例來(lái)演示具體的用法,這里先新建一個(gè)C語(yǔ)言的程序文件,演示使用的是Visual?Studio軟件作為開(kāi)發(fā)工具:

2、輸入goto語(yǔ)句應(yīng)用代碼,這里先定義兩個(gè)變量a和b,然后用printf函數(shù)打印兩句話,直接用goto語(yǔ)句強(qiáng)制跳轉(zhuǎn)到打印b語(yǔ)句的end標(biāo)記位置,此時(shí)a的打印就不會(huì)執(zhí)行了:

3、編譯執(zhí)行程序,按下crtl+F5打開(kāi)命令行,就可以看到執(zhí)行的結(jié)果,打印出了b語(yǔ)句,和預(yù)期的結(jié)果一樣。以上就是C語(yǔ)言中g(shù)oto的用法:

C語(yǔ)言在函數(shù)中使用goto的問(wèn)題

goto只能在同一個(gè)函數(shù)體內(nèi)用,不能跨函數(shù)用。你這里錯(cuò)就是錯(cuò)在aa()里跳出到外面去了,所以Label A在aa()未定義。

int main()

{

A:

printf("1\n");

aa();

goto A;

printf("2\n");

aa();

}

void aa() {

return;

}

這是按照你的意思寫的,但是我警告你,這是個(gè)死循環(huán),會(huì)一直goto下去,因?yàn)槟銢](méi)給出退出的條件。

文章題目:c語(yǔ)言goto跨函數(shù)跳轉(zhuǎn) c語(yǔ)言跳轉(zhuǎn)語(yǔ)句goto
文章分享:http://muchs.cn/article26/doscojg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、外貿(mào)建站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站建設(shè)靜態(tài)網(wǎng)站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司