c语言改错 error C2109: 下标要求数组或指针类型

来源:百度知道 编辑:UC知道 时间:2024/06/28 16:50:30
/*魔方阵*/
#include <stdio.h>
int main()
{
int i,j,a,n;
int arr[100][100];
printf("请输入n,n为100内奇数\n");
scanf("%d\n",n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)a[i][j]=0;
i=1;j=n/2;
for(a=2;a<=n*n;a++)
{
if(i==1)i=n;
else i--;
if(j==n)j=1;
else j++;
if((arr[i][j]!=0)||(i==1||j==n))j++;
arr[i][j]=a;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)printf("%d ",a[i][j]);
printf("\n");
}
getchar();

}

vc++2008编译,如下错误提示:error C2109: 下标要求数组或指针类型

第9行和22行有问题。应该是 arr[][],你写成了 a[][]。
太粗心。

一般这种问题要看代码才知道啊
我建议可以在你提示错误的变量前加“&”
比如 a变量提示错误 就改成 &a