新聞中心
C語言中g(shù)oto的用法要盡量詳細
goto語句也稱為無條件轉(zhuǎn)移語句,其一般格式如下: goto 語句標(biāo)號; 其中語句標(biāo)號是按標(biāo)識符規(guī)定書寫的符號, 放在某一語句行的前面,標(biāo)號后加冒號(:)。語句標(biāo)號起標(biāo)識語句的作用,與goto 語句配合使用。
目前成都創(chuàng)新互聯(lián)公司已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、行唐網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
如: label: i++;
loop: while(x7);
goto loop;
C語言不限制程序中使用標(biāo)號的次數(shù),但各標(biāo)號不得重名。goto語句的語義是改變程序流向, 轉(zhuǎn)去執(zhí)行語句標(biāo)號所標(biāo)識的語句。
goto語句通常與條件語句配合使用。可用來實現(xiàn)條件轉(zhuǎn)移, 構(gòu)成循環(huán),跳出循環(huán)體等功能。
擴展資料:
go to語句使用原則:
1、使用goto語句只能goto到同一函數(shù)內(nèi),而不能從一個函數(shù)里goto到另外一個函數(shù)里。
2、使用goto語句在同一函數(shù)內(nèi)進行g(shù)oto時,goto的起點應(yīng)是函數(shù)內(nèi)一段小功能的結(jié)束處,goto的目的label處應(yīng)是函數(shù)內(nèi)另外一段小功能的開始處。
3、不能從一段復(fù)雜的執(zhí)行狀態(tài)中的位置goto到另外一個位置,比如,從多重嵌套的循環(huán)判斷中跳出去就是不允許的。
4、應(yīng)該避免向兩個方向跳轉(zhuǎn)。這樣最容易導(dǎo)致"面條代碼"。
參考資料:百度百科-goto語句
關(guān)于c語言的goto條件循環(huán)
return
就是退出當(dāng)前的方法(函數(shù)),在這里就是退出main方法,也就是程序結(jié)束了
當(dāng)i=0,1,2時候,i2不滿足,所以不會執(zhí)行return
都繼續(xù)往下走,
就會碰到goto(因此產(chǎn)生循環(huán)流程),這就三次了
當(dāng)i=2時,return
不執(zhí)行,所以下面的i++執(zhí)行了,
i變成3,仍然小于5,
所以回到ss的地方,輸出了第四次循環(huán)的信息,然后判斷i2成立,退出
所以一共4次
補一句題外話:正常人是不會用goto的,沒有必要去研究它,浪費時間
c語言中無限重復(fù)goto語句。
#includestdio.h
#includemath.h
#includestdlib.h
int?main()
{
int?i=0,n=0,j=0,k=0;
char?a[64];
here:??printf("輸入一個2進制數(shù):");
while((a[i]=getchar())!='\n')
{
n++;
i++;
}
for(j=0;jn;j++)
{
if(a[j]='2'||a[j]='/')
{ printf("X!%d:\t%c",j,a[j]);
i=0;//加上這一句重置a
n=0;//加上這一句重置n
???goto?here;
}
}
for(j=0;jn;j++)
{
k+=(int)(a[j]-48)*pow(2,n-1-j);
}
printf("輸出一個10進制數(shù):%d\n",k);
return?0;
}
C語言怎么用goto實現(xiàn)循環(huán)
for ( i=0;i10;i++ ) { ... }
等同于
i=0;
LOOP:
if ( i10 ) {
...
i++; goto LOOP;
}
C語言中g(shù)oto語句的用法??舉例來說。
goto語句可以使程序在沒有任何條件的情況下跳轉(zhuǎn)到指定的位置,所以goto語句又被稱為是無條件跳轉(zhuǎn)語句。
它的語法如下
goto label;
//其它代碼
label:
其中,label為我們自己定義的一個標(biāo)簽,定義的規(guī)則與變量的命名相同,它的位置是不固定的,它可以寫在goto語句的后面,也可以寫在它的前面,然而goto語句只能在一個函數(shù)內(nèi)部跳轉(zhuǎn),它并不允許跳轉(zhuǎn)出一個函數(shù)外部。
int day = 1;
loop:
if (day = 31)
{
printf("%d\n", day);
day++;
goto loop;
}
上面程序就是利用了goto和if語句來實現(xiàn)了循環(huán)功能,它與while實現(xiàn)的循環(huán)功能一樣,其中l(wèi)oop為我們定義的一個label(標(biāo)簽)。
擴展資料:
使用goto語句的建議
1) 使用goto語句只能goto到同一函數(shù)內(nèi),而不能從一個函數(shù)里goto到另外一個函數(shù)里。
2) 使用goto語句在同一函數(shù)內(nèi)進行g(shù)oto時,goto的起點應(yīng)是函數(shù)內(nèi)一段小功能的結(jié)束處,goto的目的label處應(yīng)是函數(shù)內(nèi)另外一段小功能的開始處。
3) 不能從一段復(fù)雜的執(zhí)行狀態(tài)中的位置goto到另外一個位置,比如,從多重嵌套的循環(huán)判斷中跳出去就是不允許的。
4)應(yīng)該避免向兩個方向跳轉(zhuǎn)。這樣最容易導(dǎo)致"面條代碼"。
參考資料來源:百度百科-goto語句
關(guān)于C語言goto語句用法
不是不執(zhí)行,是執(zhí)行完了被11111111111111覆蓋了,你把goto b注釋掉就看到了,
a執(zhí)行完執(zhí)行g(shù)oto b,然后輸出10000000000000000000,然后在goto b無限循環(huán)了
分享名稱:c語言goto無限循環(huán),循環(huán)語句中可以用goto語句嗎
分享路徑:http://www.ef60e0e.cn/article/dseggoo.html