有哪位亲朋好友可以给我解释解释,这是一个数组的问题。如果能够提供帮助,我就谢谢大家了
这里由m[][3]看出是3列,行是由实际的赋值来确定,所以这个数组其实是
1 4 7
2 5 8
3 6 9
k为2是要求输出第3行(数组的下标是从0开始的,2就只第三列)的数m[k][i]即是m[2][i],i 从0到2变化,最后输入是
369
因为访问的是m[2][0]到m[2][3]的三个元素,在原数组内就是369
原数组指定每一行有三个元素,初始化9个元素就会自动判定为3行,之后访问第三行访问到的就是最后三个元素.
有帮助望采纳~
二维数组 定义:
第一种 int m [ ] [ 3 ] ={ 0 }; 这种写法 会自动转换为 m [ 元素总数 / 3 ] [ 3 ] 实际数组有9个元素 = m [ 9/3 ] [3]
第二种 int m [3 ] [3] ={ 0 }; 这种写法固定了 可保存 3 * 3 个元素
定义的时候是从1开始 不是从0开始
错误写法: int m [3 ] [ ]={0}; int m [ ] [ ]={0};
读数组的时候下标是从0开始 不是从1开始 这点新手容易混淆 0 , 1, 2 共3行
你要打印的是 m [k ] [ i] 即:
m [2 ] [ 0 ] 第3行第1个元素 =3
m [2 ] [ 1 ] 第3行第2个元素 =6
m [2 ] [ 2 ] 第3行第3个元素 =9
所以结果=369