例如,在Java/C++中,您是否随意地说'a'是"abc"的第一个字符,还是0
人们是两者兼而有之,而且总是模棱两可,还是有一个实际的约定?
这是维基百科在零文章中引用的一句话:
在计算机科学中,数组引用也通常从
0开始,因此计算机程序员可能在其他人可能首先使用的情况下使用零,等等。
这似乎支持了这样一种假设,即它总是模棱两可。
感谢亚历山德罗斯·格泽利斯(见下面他的回答)找到这句名言,“如何像计算机科学家一样思考:用Python学习”,作者为艾伦·唐尼、杰弗里·埃尔克纳和克里斯·迈耶斯,第七章
"banana"的第一个字母不是a。除非你是个计算机科学家。由于反常的原因,计算机科学家总是从零开始计数。"banana"的第0个字母(零eth)是b。第一个字母(1-ETH)是a,第二个字母(2-ETH)是n。
这似乎表明,我们作为计算机科学家,在处理基于0的索引系统时,应该摒弃“第一”、“第二”等的自然语义。
这句话表明,也许对某些语言有正式的裁决,所以我提出了这个问题,[language-agnostic]。
发布于 2010-04-08 14:21:01
它是数组中的第一个字符或元素,但它位于索引0。
发布于 2010-04-08 14:27:43
术语"first“与数组的绝对索引无关,而只是作为最低索引元素的相对位置。例如,Turbo允许数组中的任意索引(例如从5到15)。位于array5的元素仍将被称为第一个元素。
发布于 2010-04-08 14:26:31
引用这篇维基百科文章
虽然“零”一词本身并不含糊不清,但在缺乏上下文的情况下,它会为序列中的所有后续要素造成歧义,因为它们被称为“第一”、“第二”等等,这与这些词的正常日常意义相冲突。
所以我会说“第一”。
https://stackoverflow.com/questions/2600613
复制相似问题