读书人

数组的有关问题帮忙看看

发布时间: 2012-04-11 17:42:33 作者: rapoo

数组的问题,帮忙看看。
#include<stdio.h>//p69-2
int main()
{
double f(int n);
double sum=0;
int n ;
printf("input n:");
scanf("%d",&n);
sum=f(n);
printf("sum=%lf",sum);
return 0;
}
double f(int n)
{ double sum;
int a[n][n],i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=1;i<n-2;i++)
sum=sum+a[i][n-1-i];
for(i=0;i<n;i++)
sum=sum+a[n][i];
for(i=0;i<n;i++)
sum=sum+a[i][n];
return sum;
}

----------------------

--------------------Configuration: p69-2 - Win32 Debug--------------------
Compiling...
p69-2.cpp
f:\c++ source file\教程指导书\p69-2.cpp(15) : error C2057: expected constant expression
f:\c++ source file\教程指导书\p69-2.cpp(15) : error C2466: cannot allocate an array of constant size 0
f:\c++ source file\教程指导书\p69-2.cpp(15) : error C2057: expected constant expression
f:\c++ source file\教程指导书\p69-2.cpp(15) : error C2466: cannot allocate an array of constant size 0
f:\c++ source file\教程指导书\p69-2.cpp(15) : error C2087: '<Unknown>' : missing subscript
f:\c++ source file\教程指导书\p69-2.cpp(15) : error C2133: 'a' : unknown size
执行 cl.exe 时出错.

p69-2.obj - 1 error(s), 0 warning(s)


[解决办法]

C/C++ code
#include <malloc.h>//别忘记加头double f(const int n){     double sum;    int **a,i,j;    a=(int **)malloc( n*sizeof(int *));//二维动态数组要这样分配才行    for(int i=0;i<n;i++)        a[i]=(int *)malloc(n*sizeof(int )); //定义行 

读书人网 >C语言

热点推荐