可能重複:
Why are we using i as a counter in loops誰發明了i,j,k作爲整數計數器的變量名?
我這些用自己超過15年,但真的不記得如何/在哪裏我拿起這個習慣。由於它非常普遍,我很想知道誰最初建議/推薦將這些名稱用於整數循環計數器(是否是K & R書?)。
可能重複:
Why are we using i as a counter in loops誰發明了i,j,k作爲整數計數器的變量名?
我這些用自己超過15年,但真的不記得如何/在哪裏我拿起這個習慣。由於它非常普遍,我很想知道誰最初建議/推薦將這些名稱用於整數循環計數器(是否是K & R書?)。
I =整數
從Fortran語言談到這裏整數變量不得不開始用字母I到N和實際變量開始與其他字母。因此,我是第一個和最短的整數變量名稱。 Fortran是最早被廣泛使用的編程語言之一,程序員使用它的習慣被轉移到其他語言。
(來源:Why are we using i as a counter in loops)
顯然,j
和k
只是在你最喜歡的字母下一人。
數學家:)
這是常見的從學校層面和大學水平的代數習題(雖然x
和y
有自己的一分力,在那裏,太:-)
另外,如果我還記得正確地說,早期的編程語言(如FORTRAN
的早期版本)以初始字母顯着的方式使用變量命名,並且這可能有一部分可以發揮作用。例如,如說this page:
甲FORTRAN變量是 參照計算機的細胞的方法。 名稱變量必須符合 以下規則:
- 名稱可能爲一到六個字符。
- 第一個字符必須是一個字母。
- 除第一個以外的字符可能是字母或數字。
- 如果第一個字符是I,J,K,L,M或N,則該變量是整數 (即可以保存整數值)。 否則,它是實數(即,可以根據浮點數 約定保存 值)。
FORTRAN。如果第一個字符是I,J,K,L,M或N,則該變量是整數(即可以保持整數值)。否則,它是真實的(即可以根據浮點約定保存一個值)。
從維基百科爲Loop Counter
甲共同標識符命名約定 是用於使用 變量名I,J和K(等 如果需要的話),其中i是循環計數器最外面的 外部循環,j下一個內部循環, 等。相反的順序也被一些程序員使用 。這種風格 普遍認爲已經從FORTRAN, 的早期編程起源 其中以這些字母開頭 這些變量名都隱含聲明爲整數類型, 等人對循環顯而易見的選擇 計數器,只暫時需要 。這種做法也可以追溯到 進一步的數學符號,其中 指數款項和乘法 往往I,J,等
我一直以爲我代表指數用於例如在數學和公式。
Dupe: http://stackoverflow.com/questions/454303/why-are-we-using-i-as-a-counter-in-loops – oggy 2009-07-18 11:32:46
我個人討厭這個慣例,主要是因爲「我」和「j」非常相似 - 用小寫字母表示。我以前在嵌套循環內向後取得它們,而且很難發現問題。 – MusiGenesis 2009-07-18 12:34:39
我在迭代中,https://books.google.com/ngrams/graph?content=iterate – mbx 2016-07-14 14:00:34