C語言中goto語句的用法??舉例來說
goto語句也稱為無條件轉移語句,其一般格式如下:
goto 語句標號; 其中語句標號是按標識符規定書寫的符號, 放在某一語句行的前面,標號后加冒號(:)。語句標號起標識語句的作用,與goto 語句配合使用。
C語言不限制程序中使用標號的次數,但各標號不得重名。
goto語句的語義是改變程序流向, 轉去執行語句標號所標識的語句。
goto語句通常與條件語句配合使用。可用來實現條件轉移, 構成循環,跳出循環體等功能。
在結構化程序設計中一般不主張使用goto語句, 以免造成程序流程的混亂,使理解和調試程序都產生困難。
以下例句,當i等于5時,程序轉向stop標簽處語句。
// Example of the goto statement
void main()
{
int i, j;
for ( i = 0; i {
printf( "Outer loop executing. i = %d\n", i );
for ( j = 0; j {
printf( " Inner loop executing. j = %d\n", j );
if ( i == 5 )
goto stop;
}
}
/* This message does not print: */
printf( "Loop exited. i = %d\n", i );
stop: printf( "Jumped to stop. i = %d\n", i );
}
C語言中的GOTO語句怎么用
在結構化程序設計中一般不主張使用goto語句, 以免造成程序流程的混亂,使理解和調試程序都產生困難。
goto語句也稱為無條件轉移語句,其一般格式如下:
goto 語句標號; 其中語句標號是按標識符規定書寫的符號, 放在某一語句行的前面,標號后加冒號(:)。語句標號起標識語句的作用,與goto 語句配合使用。
C語言不限制程序中使用標號的次數,但各標號不得重名。
goto語句的語義是改變程序流向, 轉去執行語句標號所標識的語句。
goto語句通常與條件語句配合使用。可用來實現條件轉移, 構成循環,跳出循環體等功能。
例:
s=0; i=1;
again:
s=s+i;
i=i+1
if iprintf("%d\n",s);
又如:
s=0;
whil1(1)
{scanf("%d",&x);
s=s+x;
if(x}
disp:
printf("Total=%d\n",s);
C語言中的goto是什么意思
goto語句也稱為無條件轉移語句,其一般格式如下:
goto 語句標號; 其中語句標號是按標識符規定書寫的符號, 放在某一語句行的前面,標號后加冒號(:)。語句標號起標識語句的作用,與goto 語句配合使用。
#include"stdio.h"
int main(void)
{
int n=0;
printf("input a string :\n");
loop: if(getchar()!='\n')
{
n++;
goto loop;
}
printf("%d",n);
}以上面的例子來說明,如果用戶輸入的字符不是回車符,那么返回loop處繼續接收用戶輸入的字符;如果用戶輸入回車符,那么跳出共同語句,執行printf語句。
C語言中goto的用法
goto用在內層循環中比較合適,用break只能跳出內層循環,而goto可以直接跳出最外層循環,在合理的地方使用就可以了。
不要頻繁的使用goto,過多的使用goto語句,會使程序混亂從理論上講,goto語 句是沒有必要的,實踐中不使用goto語句也可以很容易地寫出代碼但是,在某些場合下goto語句還是用得著的。最常見的用法是終止程序在某些深度嵌套 的結構中的處理過程,例如一次跳出兩層或多層循環。
這種情況下使用break語句是不能達 到目的的,它只能從最內層循環退出到上一級的循環所有使用了goto語句的程序代碼都能改寫成不帶goto語句的程序,但可能會增加一些 額外的重復測試或變量標號的命名同變量命名的形式相同,標號的后面要緊跟一個冒號。標號可以位于對應的 goto語句所在函數的任何語句的前面。
標號的作用域是整個函數。goto 是轉向語句goto 標號;例 int x=1; biaohao: x=x+1; if(x<100) goto biaohao; cout<<"x=100"< 。 。 。,直到x=100 if語句括號表達式為假不執行后面的goto語句,于是跳過執行cout語句輸出x=100這幾個字符。