C goto 語句
C 語言中的 goto 語句允許把控制無條件轉移到同一函數內的被標記的語句。
注意:在任何編程語言中,都不建議使用 goto 語句。因為它使得程式的控制流難以跟蹤,使程式難以理解和難以修改。任何使用 goto 語句的程式可以改寫成不需要使用 goto 語句的寫法。
語法
C 語言中 goto 語句的語法:
goto label; .. . label: statement;
在這裏,label 可以是任何除 C 關鍵字以外的純文本,它可以設置在 C 程式中 goto 語句的前面或者後面。
流程圖
實例
實例
#include <stdio.h>
int main ()
{
/* 局部變數定義 */
int a = 10;
/* do 迴圈執行 */
LOOP:do
{
if( a == 15)
{
/* 跳過迭代 */
a = a + 1;
goto LOOP;
}
printf("a 的值: %d\n", a);
a++;
}while( a < 20 );
return 0;
}
int main ()
{
/* 局部變數定義 */
int a = 10;
/* do 迴圈執行 */
LOOP:do
{
if( a == 15)
{
/* 跳過迭代 */
a = a + 1;
goto LOOP;
}
printf("a 的值: %d\n", a);
a++;
}while( a < 20 );
return 0;
}
當上面的代碼被編譯和執行時,它會產生下列結果:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19