等价于声明了: c[3][1]
所以 语句 要 用 for (x=0x<3x++) for (y=0y<1y++) { 来输出 c[x][y] }
而你用 了 y<3, 所以错了,
有c[0][0], 没有 c[0][1], 没有 c[0][2],
有c[1][0], 没有 c[1][1], 没有 c[1][2],
有c[2][0], 没有 c[2][1], 没有 c[2][2].
二维数组就是每一项都是一个一维数组的数组
比如
int a[][] = {{1,2,3},{4,5,6},{7,8,9}}这里的a就是一个二维数组,他的每一项内容也都是一个数组
int a[m][n]//就表示一个m行n列的整型二维数组
在c语言中数组的下标是从0开始的所以,数组a的元素个数可以表示为:a[0][0]-a[m-1][n-1]
例如:
#include<stdio.h>int main()
{
int a[3][2],i,j//定义一个3行2列的整型二维数组a
for(i=0i<3i++)//依次给二维数组赋值
for(j=0j<2j++)
scanf("%d",&a[i][j])
printf("\n")
for(i=0i<3i++){//输出二维数组
for(j=0j<2j++)
printf("%d ",a[i][j])
printf("\n")
}
return 0
}
/*
运行结果:
1 2
3 4
4 5
1 2
3 4
4 5
*/