int a[n][n]={0};
你这样定义了数组a是只包含"0"一个元素的数组,后面肯定出错
2维数组的动态分配不能像你哪样,编译通不过
int a[n][n]={0};
下面这样才行
int n;
scanf("%d",&n);
int **a=new int*[n];
for (int i=0;i
a[i]=new int[n];
}
int a[n][n]={0};有错,不能这样建立数组
你想你应该规定下输入n的范围 要是你的n直接等于零 那么j=(n-1)/2;a[i][j]=k直接就错了么 可以试着改下 还有有错要加错误信息啊
int a[n][n]={0}; 静态数组是不能这样定义的, 数组大小应该是常量.