goto語句也稱為無條件轉(zhuǎn)移語句,其一般格式如下: goto 語句標(biāo)號(hào); 其中語句標(biāo)號(hào)是按標(biāo)識(shí)符規(guī)定書寫的符號(hào), 放在某一語句行的前面,標(biāo)號(hào)后加冒號(hào)(:)。語句標(biāo)號(hào)起標(biāo)識(shí)語句的作用,與goto 語句配合使用。
創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),開福網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:開福等地區(qū)。開福做網(wǎng)站價(jià)格咨詢:18982081108
如: label: i++;
loop: while(x7);
goto loop;
C語言不限制程序中使用標(biāo)號(hào)的次數(shù),但各標(biāo)號(hào)不得重名。goto語句的語義是改變程序流向, 轉(zhuǎn)去執(zhí)行語句標(biāo)號(hào)所標(biāo)識(shí)的語句。
goto語句通常與條件語句配合使用??捎脕韺?shí)現(xiàn)條件轉(zhuǎn)移, 構(gòu)成循環(huán),跳出循環(huán)體等功能。
擴(kuò)展資料:
go to在C語言中的應(yīng)用:
統(tǒng)計(jì)從鍵盤輸入一行字符的個(gè)數(shù)。
#includestdio.h
int?n=0;
int?main(void)?{
printf("input?a?string:?");
? loop:?if?(getchar()!='\n')?{
n++;
?goto?loop;
}
printf("output:?%d\n",n);
}
例如輸入:abcdefghijklmnopqrstuvwxyz
然后回車Enter
輸出:26
本例用if語句和goto語句構(gòu)成循環(huán)結(jié)構(gòu)。當(dāng)輸入字符不為'\n'時(shí)即執(zhí)行n++進(jìn)行計(jì)數(shù)。
然后轉(zhuǎn)移至if語句循環(huán)執(zhí)行,直至輸入字符為'\n'才停止循環(huán)。
參考資料:百度百科-go to 語句
goto語句也稱為無條件轉(zhuǎn)移語句,其一般格式如下: goto 語句標(biāo)號(hào); 其中語句標(biāo)號(hào)是按標(biāo)識(shí)符規(guī)定書寫的符號(hào), 放在某一語句行的前面,標(biāo)號(hào)后加冒號(hào)(:)。語句標(biāo)號(hào)起標(biāo)識(shí)語句的作用,與goto 語句配合使用。
如: label: i++;loop: while(x7);goto loop.
C語言不限制程序中使用標(biāo)號(hào)的次數(shù),但各標(biāo)號(hào)不得重名。goto語句的語義是改變程序流向, 轉(zhuǎn)去執(zhí)行語句標(biāo)號(hào)所標(biāo)識(shí)的語句。
goto語句通常與條件語句配合使用??捎脕韺?shí)現(xiàn)條件轉(zhuǎn)移, 構(gòu)成循環(huán),跳出循環(huán)體等功能。
go to語句使用原則:
1、使用goto語句只能goto到同一函數(shù)內(nèi),而不能從一個(gè)函數(shù)里goto到另外一個(gè)函數(shù)里。
2、使用goto語句在同一函數(shù)內(nèi)進(jìn)行g(shù)oto時(shí),goto的起點(diǎn)應(yīng)是函數(shù)內(nèi)一段小功能的結(jié)束處,goto的目的label處應(yīng)是函數(shù)內(nèi)另外一段小功能的開始處。
3、不能從一段復(fù)雜的執(zhí)行狀態(tài)中的位置goto到另外一個(gè)位置,比如,從多重嵌套的循環(huán)判斷中跳出去就是不允許的。
4、應(yīng)該避免向兩個(gè)方向跳轉(zhuǎn)。這樣最容易導(dǎo)致"面條代碼"。
以上內(nèi)容參考:百度百科—goto語句
goto是條件跳轉(zhuǎn)指令,可以使程序的執(zhí)行跳轉(zhuǎn)到另一個(gè)位置,因此它會(huì)破壞其它的控制流機(jī)制(如FOR,IF SWITCH)所提供的有用結(jié)構(gòu)。
goto語句常常導(dǎo)致程序需要不斷進(jìn)行修補(bǔ),而通過goto語句對原來的代碼進(jìn)行修改,程序很快就會(huì)變得難以理解。
在 C 語言的編譯器中,肯定是沒有 go bott 這個(gè)關(guān)鍵字的。但是有:goto 這個(gè)關(guān)鍵字。goto 關(guān)鍵字的意思是:在整個(gè)程序的過程中,可以隨時(shí)跳轉(zhuǎn)到后面標(biāo)號(hào)的語句。例如下列代碼的運(yùn)行結(jié)果就是:直接顯示剛剛輸入的字符串的內(nèi)容,而不會(huì)輸出剛剛輸入的整數(shù)的數(shù)值。
但是從 C 語言的程序設(shè)計(jì)結(jié)構(gòu)和風(fēng)格上講,不建議使用 goto 語句進(jìn)行編程。
void main( )
{
int num ;
char my_str[40] ;
scanf("%d %s", num, my_str) ; /* 從鍵盤上輸入一個(gè)整數(shù) num、以及字符串 my_str */
goto display_string ; /* 程序代碼直接跳轉(zhuǎn)到 display_string 處顯示字符串的內(nèi)容,而不會(huì)執(zhí)行顯示數(shù)字 num 的代碼 */
printf("just input num is %d\n", num) ;
display_string:
printf("just input string is %s\n", my_str) ;
}