回复:6楼
你的程序根本就是错的。因为传入的n是10,n!=1,n%3!=0
if和elseif都被跳过,后面没有返回值,只是依赖编译器的设定,结果根本说不清楚。
还有,你的程序风格不好,int fun就写int fun,不要省略前面的int(PS:可能是我C++用惯了,看着没有类型标识的觉得不爽)
你试下下面的程序,这样才是语法正确的。
#include "stdio.h"
int fun(int t[],int n)
{
int i,m;
if(n==1)
return t[0];
else if(n%3==0)
{
m=fun(t,n-1);
return m;
}
return 4;
}
int main()
{
int a[]={11,4,6,3,8,2,3,5,9,2};
printf("%d\n",fun(a,10));
return 0;
}