数组元素引用问题是吧、、
首先说一下数组定义吧,定义的时候数组名后面的中括号内的数值大小就是按照一般习惯认为的大小,比如如题定义的a[3][4],那么这个数组就是一个行数为3,列数为4(有3行,4列,第一个中括号内的为行数,第二个的为列数,为了个人方便记忆顺序,可以称为行列,即行在前,列在后)的二维数组,定义的时候可以对整个数组进行整体初始化,即如题所定义,但在引用的时候只能一个一个地引用和赋值,比如如题定义了float a[3][4]={{7.5,8.2},{2.3,3.7,1.2},{1.0,3.4}};,在接下来的语句中不能再出现a[2][3]={{7.5,8.2},{2.3,3.7,1.2},{1.0,3.4}};这样整体赋值的语句,而只能有a[2][3]=9.3;这样类似的语句,具体参考书目.如果定义的数组为float a[M][N],引用数组元素时,因为下标是从0开始的,所以第一行第一列的数组元素为a[0][0],最后一行最后一列的元素为a[M-1][N-1],也就是引用时最后一个元素的行下标和列下标的数值总是比定义时的行数值和列数值小1.如题定义的数组的直观看法为:
float a[3][4]=
{{ 7.5, 8.2, 0, 0 },
{ 2.3, 3.7, 1.2, 0 },
{ 1.0, 3.4, 0, 0 }}
(初始化数组时系统会自动给未赋值的元素赋0)
引用时,a[2][1]在元素中的位置,按照一般习惯,是在第(2+1)=3行,第(1+1)=2列,即3.4(因为引用时下标是从0开始的,比如a[0][0]的位置为第(0+1)=1行,第(0+1)=1列,就是7.5),但是比较熟悉程序的人一般不会再这样计算行列数,而是直接说a[2][1]的位置为第2行,第1列,a[0][0]的位置为第0行,第0列.
你也可以看看二楼的回答,看看他行列数的标法,就是从0开始的.这样标的时候,a[2][1]的值就是其中对应的第2行,第1列的数值.可以说计算机本身也是以这种标法为标准的,而不是如我下面列的:
1 2 3 4
第1行
第2行
第3行
所以建议你还是习惯从0开始吧.
说得有点多,希望对你有帮助.