C语言中一个拥有n个元素的数组其下标范围是0到n-1却不是1到n,这种设计有什么优势吗?
1
fantasticfears Oct 29, 2013 对于i = 0; i < N和i = 1; i <= N的循环次数计数来说N - 0 = N次和N - 1 + 1 = N,前者是更直观的,详细见Dijkstra对此的解释:http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF
[1] stackoverflow, Why does the indexing start with zero in 'C'? http://stackoverflow.com/questions/7320686/why-does-the-indexing-start-with-zero-in-c [2] Guido van Rossum about why python uses 0-based index https://plus.google.com/115212051037621986145/posts/YTUxbXYZyfi |
2
krfantasy Oct 29, 2013
偏移量
|
3
cctvsmg Oct 29, 2013
lua的下标为什么要从1开始? 反人类!
|
4
AstroProfundis Oct 29, 2013
|
5
angelface Oct 29, 2013
数组的下标应该从0还是1开始?我提议的妥协方案是0.5,可惜他们未予认真考虑便一口回绝。
----Stan Kelly-Bootle |
6
angelface Oct 29, 2013
|
7
10iii Oct 29, 2013 a[i] == a + i;
|
10
28hua OP @fantasticfears 这样的话就不必老纠结多1少1的问题了。
|