你这个递归设置的基本条件不合适,因为据我理解n应该是表示a数组的元素个数,那么这个n值不可能小于1,更不可能是负数。而照二楼的代码理解,元素个数为0的情况下却可以返回a[0]!a数组一个元素也没有还哪来的a[0]????应该像下面这样:
int sum(int a[],int n)
{
if (n == 1)
return a[n - 1];
else
return sum(a,n - 1) + a[n - 1];
}
int sum(int a[],int n) //如果数组是a[n]的话 ,你没说明只能猜测
{
if(n>0) return a[--n]+sum(a,n);
else return 0;
}