嵌套。函数里面调用它自己。
long f(int a)
{
if(a<1) return -1;
else if(a==1) return 1;
else if(a==2) return 2;
else return f(a-1)+f(a-2);
}
上面只是个形状,a<=0也写进去了,因为a<0,是没有结果的,返回值是-1,就是说这个情况。
不知道上面那个程序也不知道能出结果吗???你自己编个吧。就是那个思路。
小心,别陷入了死循环就行,就是说,一定有出套的时候,就是那个参数为1,和2的时候。如果参数小于1,那么就直接返回-1;
死循环程序就是,参数一直减下去,程序一直调用他本身。
补充一下:return 语句执行后,就跳出函数了。不会执行这个return后面的任何语句了。
#include
main()
{
int a,n;
double sum=0.0;
scanf("%d",n);
for(a=1;a<=n;a++)
sum+=1/a;
printf("%f",sum);
}