C语言二维数组错误分析及修正:#include<stdio.h>
#include<stdio.h> #define N 9 int main() { int n,a[N][N],i,j; printf("Input n:"); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) a[i][j]=(i+1)*(j+1); } for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%4d",a[i][j]); printf("\n"); } return 0; }
错误在于定义了一维数组a,但在赋值时却按二维数组的方式进行赋值。应该将数组a的定义改为二维数组。
修改后的代码如下:
#include<stdio.h>
#define N 9
int main()
{
int n,a[N][N],i,j;
printf("Input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
a[i][j]=(i+1)*(j+1);
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/pftu 著作权归作者所有。请勿转载和采集!