函数返回值类型怎么确定?
先看例子吧。1+2+4+8+……+2^63用循环调用函数的时候,不知道怎么设置返回值类型。居然没有输出结果。。。
程序代码:
#include <stdio.h> double f(int n); main() { double sum; int n=63; sum=f(n); printf("%e",sum); getch(); } double f(int n) { double result; int i; for(i=0;i<=n;i++) { if(i==0) result=1; else result=1+2*f(i-1); } return result; }
改小n=7时,能输出,我怀疑是返回类型选错了,不知道怎么选,大家帮帮忙。。。
同样的用数组也可以实现,我在用数组做的时候选择的double,以为函数调用的话应该也一样。现在有点蒙了。
main()
{
double a[63],sum=0;
int i;
a[0]=1;
for(i=1;i<=7;i++)
{
a[i]=2*a[i-1];
sum+=a[i];
}
sum++;
printf("%e",sum);
getch();
}
这个输出正常。。。。