C goto 語(yǔ)句

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

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

注意:在任何編程語(yǔ)言中,都不建議使用 goto 語(yǔ)句。因?yàn)樗沟贸绦虻目刂屏麟y以跟蹤,使程序難以理解和難以修改。任何使用 goto 語(yǔ)句的程序可以改寫成不需要使用 goto 語(yǔ)句的寫法。

語(yǔ)法

C 語(yǔ)言中 goto 語(yǔ)句的語(yǔ)法:

goto label;
..
.
label: statement;

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

流程圖


實(shí)例

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

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

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(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)