1. 程式人生 > 實用技巧 >臭名遠揚之 goto 語句

臭名遠揚之 goto 語句

C 語言自學之 goto 語句

Dome1:以下程式實現從控制檯輸出1-10,使用goto語句,實現當輸出完3之後跳出迴圈體。

 1 #include <stdio.h>
 2  
 3 int main()
 4 {
 5     int sum = 0;
 6     int i;
 7     for(i=1; i<=10; i++)
 8     {
 9         printf("%d\n", i);
10         if(i==3)            //判定 i== 3  時 執行goto 跳轉
11         goto LOOP;//在這裡使用goto語句
12 } 13 LOOP:printf("結束for迴圈了...."); //通過goto 跳轉出迴圈,執行最後的輸出。 14 return 0; 15 }

goto 語句標號;
其中語句標號是一個識別符號,該識別符號一般用英文大寫並遵守識別符號命名規則,
這個識別符號加上一個“:”一起出現在函式內某處,執行goto語句後,程式將跳轉到該標號處並執行其後的語句。
goto語句通常不用,主要因為它將使程式層次不清,且不易讀,
但在特定情況下,可以使用goto語句來提高程式的執行速度,所以還是少用為妙。

Dome2:用goto語句和if語句構成迴圈求10以內的數之和

 1
#include <stdio.h> 2 int main() 3 { 4 int sum=0; 5 int i=1; 6 //LOOP就是一個有效的識別符號 7 LOOP:if(i<=10) 8 { 9 sum += i; 10 i++; 11 //轉義到LOOP所在的位置繼續執行 12 goto LOOP ;//促使程式從LOOP所在位置重新執行,形成另類迴圈。 13 }
14 printf("sum=%d\n",sum); 15 return 0; 16 }