2009-07-18 27 views
4

可能重複:
Why are we using i as a counter in loops誰發明了i,j,k作爲整數計數器的變量名?

我這些用自己超過15年,但真的不記得如何/在哪裏我拿起這個習慣。由於它非常普遍,我很想知道誰最初建議/推薦將這些名稱用於整數循環計數器(是否是K & R書?)。

+0

Dupe: http://stackoverflow.com/questions/454303/why-are-we-using-i-as-a-counter-in-loops – oggy 2009-07-18 11:32:46

+0

我個人討厭這個慣例,主要是因爲「我」和「j」非常相似 - 用小寫字母表示。我以前在嵌套循環內向後取得它們,而且很難發現問題。 – MusiGenesis 2009-07-18 12:34:39

+0

我在迭代中,https://books.google.com/ngrams/graph?content=iterate – mbx 2016-07-14 14:00:34

回答

14

I =整數

從Fortran語言談到這裏整數變量不得不開始用字母I到N和實際變量開始與其他字母。因此,我是第一個和最短的整數變量名稱。 Fortran是最早被廣泛使用的編程語言之一,程序員使用它的習慣被轉移到其他語言。

(來源:Why are we using i as a counter in loops

顯然,jk只是在你最喜歡的字母下一人。

3

這是常見的從學校層面和大學水平的代數習題(雖然xy有自己的一分力,在那裏,太:-)

另外,如果我還記得正確地說,早期的編程語言(如FORTRAN的早期版本)以初始字母顯着的方式使用變量命名,並且這可能有一部分可以發揮作用。例如,如說this page

甲FORTRAN變量是 參照計算機的細胞的方法。 名稱變量必須符合 以下規則:

  1. 名稱可能爲一到六個字符。
  2. 第一個字符必須是一個字母。
  3. 除第一個以外的字符可能是字母或數字。
  4. 如果第一個字符是I,J,K,L,M或N,則該變量是整數 (即可以保存整數值)。 否則,它是實數(即,可以根據浮點數 約定保存 值)。
4

FORTRAN。如果第一個字符是I,J,K,L,M或N,則該變量是整數(即可以保持整數值)。否則,它是真實的(即可以根據浮點約定保存一個值)。

1

從維基百科爲Loop Counter

甲共同標識符命名約定 是用於使用 變量名I,J和K(等 如果需要的話),其中i是循環計數器最外面的 外部循環,j下一個內部循環, 等。相反的順序也被一些程序員使用 。這種風格 普遍認爲已經從FORTRAN, 的早期編程起源 其中以這些字母開頭 這些變量名都隱含聲明爲整數類型, 等人對循環顯而易見的選擇 計數器,只暫時需要 。這種做法也可以追溯到 進一步的數學符號,其中 指數款項和乘法 往往I,J,等

3

我一直以爲我代表指數用於例如在數學和公式。

相關問題