scanf(“%d”,array [i] + 1)是什么意思?那为什么+1?

问题描述 投票:1回答:1

我已经看到很多代码片段从1开始for循环而不是0并且scanf进入arr[i] + 1地址,这是什么意思?

for(int i = 1; i <= n; ++i) { scanf("%d", arr[i]+1); }

arr是一个二维数组:

int arr[500][500];
c++ arrays
1个回答
3
投票

...这是什么意思?

这意味着“旧习惯会变得艰难”。

这意味着该代码的作者可能是编程语言中经验丰富的程序员,其中数组的默认基本索引是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).的文章中收集的

© www.soinside.com 2019 - 2024. All rights reserved.