goto 語句及標號可能是有害的,但未必全是無用的。影響控制流程的語句:
我們知道 break 只能跳出最內層的迴圈,如果在乙個巢狀迴圈中遇到某個錯誤條件需要立即跳出最外層迴圈做錯誤處理,就可以用到 goto 語句:
for (...)
for (...)
error:
出錯處理;
這裡的 error:叫做標號(label),任何語句前面都可以加若干個標號。
goto 語句只能跳轉到同乙個函式的某個標號處,而不能跳轉到其他函式中。濫用 goto 語句會使程式的控制流程非常複雜,可讀性很差。
goto 語句不是必須存在的,顯然可用其他方法替代,上文的**可改寫為如下形式:
int cond = 0;
for (...)
}if (cond)
break;
}if (cond)
出錯處理;
通常 goto 語句只用於這種場合,乙個函式中任何地方出現了錯誤條件都可以立即跳轉到函式末尾進行出錯處理:
標號處也可以什麼都不做:
static
int nextprime(int n)
}
也可以通過乙個布林型別的標識變數進行判斷處理:
bool notprime = true;
for (; ; n += 2)
if (!notprime)
return n;
}
標號和goto null語句
pl sql中goto語句是無條件跳轉到指定的標號去的意思。語法如下 goto label 標號是用 括起來的識別符號 注意,在以下地方使用是不合法的,編譯時會出錯誤。u 跳轉到非執行語句前面。u 跳轉到子塊中。u 跳轉到迴圈語句中。u 跳轉到條件語句中。u 從異常處理部分跳轉到執行。u 從條件語句...
goto語句和用法
goto語句也稱為無條件轉移語句,其一般為 goto 語句標號 其中語句標號是按識別符號規定書寫的符號,放在某一語句行的前面,標號後加冒號 語句標號起標識語句的作用,與goto 語句配合使用。如 label i loop while x 7 goto loopc語言不限制程式中使用標號的次數,但各標...
goto語句用法
goto語句 其實和switch語句有一點書寫的相似性,下面是寫法 自定義名稱 語句 例如 kel printf 這個位置 上面這個語句中 kel 是自定義的,後面加上冒號,再接上語句。如下面 int main 這段 將會直接列印出 這個位置 因為goto語句直接 跳轉到kel 語句的位置,執行ke...