無限迴圈

出自維基百科,自由嘅百科全書
Jump to navigation Jump to search

無限迴圈infinite loop / endless loop)喺控制流程上係指一個永遠都行唔完嘅迴圈。無限迴圈發生嘅原因可能係因為個迴圈根本冇終止條件、有一個冇可能達得到嘅終止條件、又或者有一啲會搞到個迴圈重新啟動嘅陳述式-通常係個編程員無意中犯錯先會噉。喺原始啲嘅電腦當中,無限迴圈通常會搞到部電腦輕機,不過先進啲嘅電腦會識得喺出現無限迴圈嗰時話俾個使用者知,等個使用者決定好唔好繼續行落去,又或者俾個用家喺無限迴圈出現嗰時人手終止個程式。無限迴圈例子有以下呢啲[1][2]

一段 Java 碼:

while (true) // 當「true」係真嘅時候一路做以下嘅嘢;因為 true by definition 就係真,所以呢個 loop 永遠唔會完。
    System.out.println("Infinite Loop");

一段 Visual Basic 碼:

dim x as integer ' 設 x 呢個變數,佢係一個整數
do while x < 5 ' do 以下嘅嘢 while x 細過 5
  x = 1 ' 設 x 做 1
  x = x + 1 ' 設 x 做 x + 1
loop
' 呢段碼個迴圈開頭會將 x 嘅數值設返做 1,所以 x 嘅數值永遠都唔會等如或者大過 5(有一個冇可能達得到嘅終止條件)。

[編輯]

  1. Hoare, C. A. R. (1969). An axiomatic basis for computer programming. Communications of the ACM, 12(10), 576-580.
  2. Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2011, June). Habits of programming in scratch. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education (pp. 168-172). ACM.