臭名遠揚之 goto 語句
阿新 • • 發佈:2020-12-11
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 }