我已经看到很多代码片段从1开始for循环而不是0并且scanf进入arr[i] + 1
地址,这是什么意思?
for(int i = 1; i <= n; ++i) { scanf("%d", arr[i]+1); }
arr
是一个二维数组:
int arr[500][500];
...这是什么意思?
这意味着“旧习惯会变得艰难”。
这意味着该代码的作者可能是编程语言中经验丰富的程序员,其中数组的默认基本索引是1.最可能的候选者是ALGOL,AWK,COBOL,Fortran和Smalltalk。他们不想改变他们的旧习惯并采用C ++的索引。
具有数组的默认基本索引的其他语言是XPath / XQuery,Wolfram语言,Sass,R,PL / I,MATLAB,Mathematica,Lua,Lingo,Julia,FoxPro,CFML,APL。
注意:以上信息是从wiki关于Comparison of programming languages (array).的文章中收集的