pol*_*nts 8 language-agnostic terminology conventions
例如,在Java/C++中,你是否随便说这'a'是第一个字符"abc",还是第0个字符?
人们都说两者都是模棱两可的,还是有实际的约定?
在计算机科学中,数组引用通常也从一开始就是
0如此,因此计算机程序员可能会在其他人可能首先使用的情况下使用第0个,等等.
这似乎支持这样一种假设,即它总是模糊不清.
感谢Alexandros Gezerlis(请参阅下面的答案)找到这个引用,如何像计算机科学家一样思考: Allen B. Downey,Jeffrey Elkner和Chris Meyers的Python学习,第7章:
第一个字母
"banana"不是a.除非你是计算机科学家.出于不正当的原因,计算机科学家总是从零开始计算.第0个字母(零-eth)"banana"是b.第1个字母(1-eth)是a,第2个(2-eth)字母是n.
这似乎表明我们作为计算机科学家在处理基于0的索引系统时应该拒绝"第一","第二"等自然语义.
这句话表明,或许还有现在某些语言正式裁决,所以我做了这个问题[language-agnostic].
术语"第一"与数组的绝对索引无关,而只是它作为最低索引元素的相对位置.例如,Turbo Pascal允许数组中的任意索引(例如5到15).位于数组[5]的元素仍将被称为第一个元素.