goto語句的用法非常靈活,你可以用它實現很多功能,但是由於goto語句的跳轉影響程式的結構,在使用的時候會使人迷茫,所以一般"教材"上都不建議使用,但是用它可以實現遞迴,迴圈,選擇功能,使用起來也很方便,存在即有價值,大家在使用上做適當取捨就好,覺得需要用就用,不必因拘泥而刻意不去用.
goto 的意思是跳轉到的意思,那麼跳轉到哪裡呢,當然是跳轉到另一個語句,如何標示這個要跳轉到的語句,答案是在該語句前加上標籤
int i = 0;
goto cc;
i = 9;
cc: Console.Write(i);
這就是四句程式碼,標籤的使用方式cc: Console.Write(i);即為標籤名,再加上冒號":",標籤名大家可以隨意取,比如aa,bb,反正隨大家喜歡.這四句程式碼的意思是,第一句:定義變數i,第二句:跳轉到標籤為cc的語句,接下來就輸出i的結果,可以看出,第三句是無意義的,因為沒有被執行,跳過去了,所以輸出的值是0,而不是9.
goto跳轉的語句,並不是一定要跳轉到之後的語句,也就是說,goto還可以跳到前面去執行
我們再來看程式碼
第一句程式碼是定義變數i,第二句是標籤為cc的輸出變數i的語句,第三句程式碼是跳轉到標籤為cc的語句.因為每次輸出i以後,都又跳轉回到cc語句,所以程式會不停地輸出i.大家是不是有點明白了?沒錯,這就是用goto實現的迴圈功能.這是個不停輸出0的死迴圈
死迴圈對我們的作用不大,如果我們想要輸出i小於10的數,那可以這樣變一下程式碼
if (i
{
i++;
}
非常簡單,只要在跳轉語句加上跳轉條件,也就是i
goto語句只允許在一個語句塊內跳出,或者在一個語句塊內的一個地方跳到另一個地方;不允許從一個語句塊外面跳入一個語句塊的內部
goto語句的用法非常靈活,你可以用它實現很多功能,但是由於goto語句的跳轉影響程式的結構,在使用的時候會使人迷茫,所以一般"教材"上都不建議使用,但是用它可以實現遞迴,迴圈,選擇功能,使用起來也很方便,存在即有價值,大家在使用上做適當取捨就好,覺得需要用就用,不必因拘泥而刻意不去用.
goto 的意思是跳轉到的意思,那麼跳轉到哪裡呢,當然是跳轉到另一個語句,如何標示這個要跳轉到的語句,答案是在該語句前加上標籤
int i = 0;
goto cc;
i = 9;
cc: Console.Write(i);
這就是四句程式碼,標籤的使用方式cc: Console.Write(i);即為標籤名,再加上冒號":",標籤名大家可以隨意取,比如aa,bb,反正隨大家喜歡.這四句程式碼的意思是,第一句:定義變數i,第二句:跳轉到標籤為cc的語句,接下來就輸出i的結果,可以看出,第三句是無意義的,因為沒有被執行,跳過去了,所以輸出的值是0,而不是9.
goto跳轉的語句,並不是一定要跳轉到之後的語句,也就是說,goto還可以跳到前面去執行
我們再來看程式碼
int i = 0;
cc: Console.Write(i);
goto cc;
第一句程式碼是定義變數i,第二句是標籤為cc的輸出變數i的語句,第三句程式碼是跳轉到標籤為cc的語句.因為每次輸出i以後,都又跳轉回到cc語句,所以程式會不停地輸出i.大家是不是有點明白了?沒錯,這就是用goto實現的迴圈功能.這是個不停輸出0的死迴圈
死迴圈對我們的作用不大,如果我們想要輸出i小於10的數,那可以這樣變一下程式碼
int i = 0;
cc: Console.Write(i);
if (i
{
i++;
goto cc;
}
非常簡單,只要在跳轉語句加上跳轉條件,也就是i
goto語句只允許在一個語句塊內跳出,或者在一個語句塊內的一個地方跳到另一個地方;不允許從一個語句塊外面跳入一個語句塊的內部