| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2543 人关注过本帖
标题:利用递归方法求5!。"int sum "这里说语法错误!求助!
只看楼主 加入收藏
qspy
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-25
收藏
得分:0 
回复 1# 的帖子
把int sum;放到函数头部定义或者像下面这样加个{}应该OK
{ //add
        int sum;
        if(j==0)
        sum=1;
    else
    sum=j*fact(j-1);
        return sum;
}//add
在C语言中变量并不是可以在任意位置定义的
2008-04-30 13:47
张信哲
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2008-4-3
收藏
得分:0 
这个程序很不好看。
建议你写程序是注意下风格。
呵呵。

相信自己,学无止尽。
2008-04-30 17:03
love154139
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-5-6
收藏
得分:0 
在同一个程序里面 变量是先定义后使用的
变量要在使用之前 一起全部定义
你在程序执行中间再定义sum 肯定是会报错了

2008-04-30 17:06
lg4478
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-4-28
收藏
得分:0 
[bo]以下是引用 [un]张信哲[/un] 在 2008-4-30 17:03 的发言:[/bo]

这个程序很不好看。
建议你写程序是注意下风格。
呵呵。

呵呵,
      此程序并非本人原创,摘自《C语言大全》里〈经典C语言程序100例〉中的第26例。
     我现在也无语了,让我十分费解。原题照抄都有错。。。。。

我希望那位大虾帮我写个正确的让我坐个参考!!!谢了!!
2008-05-04 15:20
sxn0508
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2008-1-24
收藏
得分:0 
〈经典C语言程序100例〉中的程序复制下来以后,要把要把所有空格删掉,从打一遍就好了~
2008-05-05 13:34
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 
求5的阶乘
main()
{
    int i,n=5,z,ff();
    z=ff(n);
    printf("%d!=%d\n",n,z);   
}
int ff(int y)
{
    int x;
    if (y==1) return;
    return (x=y*ff(y-1));
}

编程快乐,快乐编程! 没有最好,只有更好!
2008-05-05 13:50
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
楼上的x是多余的,return还错了

[color=white]
2008-05-05 13:55
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 
可能错了,但能正确执行
main()
{
    int i,n=5,z,ff();
    z=ff(n);
    printf("%d!=%d\n",n,z);
    getch();

}
int ff(int y)
{
    int x=1;
    if (y==1) return x;
    y*ff(y-1);
}

编程快乐,快乐编程! 没有最好,只有更好!
2008-05-05 13:58
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 
[bo]以下是引用 [un]qhscqb[/un] 在 2008-5-5 13:58 的发言:[/bo]

main()
{
    int i,n=5,z,ff();
    z=ff(n);
    printf("%d!=%d\n",n,z);
    getch();

}
int ff(int y)
{
    int x=1;
    if (y==1) return x;
    x=y*ff(y-1);
}

改了下x=y*ff(y-1);

编程快乐,快乐编程! 没有最好,只有更好!
2008-05-05 14:01
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
/********************************************************
** Highlight software by yzfy(雨中飞燕) http:// *
*********************************************************/
#include<stdio.h>
int ff(int y)
{
    if (y<=1) return 1;
    return y*ff(y-1);
}
int main()
{
    int n=5;
    printf("%d!=%d\n",n,ff(n));
    return 0;
}


是这样吧

[color=white]

[[it] 本帖最后由 雨中飛燕 于 2008-5-5 14:03 编辑 [/it]]
2008-05-05 14:02
快速回复:利用递归方法求5!。"int sum "这里说语法错误!求助!
数据加载中...
 
   



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

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