| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3280 人关注过本帖
标题:函数返回值类型怎么确定?
取消只看楼主 加入收藏
soler_z
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:28
专家分:130
注 册:2009-7-17
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
函数返回值类型怎么确定?
先看例子吧。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();
}
这个输出正常。。。。
搜索更多相关主题的帖子: 返回值 函数 类型 
2009-07-24 03:03
soler_z
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:28
专家分:130
注 册:2009-7-17
收藏
得分:0 
我用win-tc和dev c++没出现任何警告提示,
莫非真的是stack溢出。
这道题,用函数循环调用的方式来解决,有啥好的写法??
2009-07-24 11:58
soler_z
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:28
专家分:130
注 册:2009-7-17
收藏
得分:0 
要是递归函数有问题,那你帮我改改,怎么改?谢谢。。。
2009-07-24 13:16
快速回复:函数返回值类型怎么确定?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023227 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved