C goto 語句

C 循環(huán) C 循環(huán)

C 語言中的 goto 語句允許把控制無條件轉(zhuǎn)移到同一函數(shù)內(nèi)的被標記的語句。

注意:在任何編程語言中,都不建議使用 goto 語句。因為它使得程序的控制流難以跟蹤,使程序難以理解和難以修改。任何使用 goto 語句的程序可以改寫成不需要使用 goto 語句的寫法。

語法

C 語言中 goto 語句的語法:

goto label;
..
.
label: statement;

在這里,label 可以是任何除 C 關(guān)鍵字以外的純文本,它可以設(shè)置在 C 程序中 goto 語句的前面或者后面。

流程圖


實例

#include <stdio.h>
 
int main ()
{
   /* 局部變量定義 */
   int a = 10;

   /* do 循環(huán)執(zhí)行 */
   LOOP:do
   {
      if( a == 15)
      {
         /* 跳過迭代 */
         a = a + 1;
         goto LOOP;
      }
      printf("a 的值: %d\n", a);
      a++;
     
   }while( a < 20 );
 
   return 0;
}

當上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

C 循環(huán) C 循環(huán)