| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 593 人关注过本帖
标题:多返回一个数值
只看楼主 加入收藏
qq425643836
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2011-2-9
结帖率:100%
收藏
 问题点数:0 回复次数:3 
多返回一个数值
程序代码:
int age(int n)
{
        int c;
        if(n<0) printf("error\n") ;
        else if(n==0,n==1) c=1;
        else c=age(n-1)*n;
        return c;
}
main()
{
        int x;
        scanf("%d",&x);
        printf("%d",age(x));
        getch();
}
这个是计算n!的代码;
可当我输入的数字小于0,输出error后,为什么还会返回一个数值。
搜索更多相关主题的帖子: color 
2011-02-16 19:50
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:0 
当然会返回了,
要不你这样,
int age(int n)
{
        int c;
        if(n<0) return -1 ;
        else if(n==0,n==1) c=1;
        else c=age(n-1)*n;
        return c;
}
main()
{
        int x;
        scanf("%d",&x);
        printf("%d",age(x));
        getch();
}
这样返回-1就是错误的

勤能补拙,熟能生巧!
2011-02-16 20:01
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:0 
回复 2楼 huangapple
#include<stdio.h>
#include<conio.h>
int age(int n)
{
        int c;
        if(n<0) return -1 ;
        else if(n==0,n==1) c=1;
        else c=age(n-1)*n;
        return c;
}
main()
{
        int x;
        scanf("%d",&x);
        if(age(x)<0)
           printf("error\n");
        else
           printf("%d\n",age(x));
        getch();
}这样跟可以符合他的意思


[ 本帖最后由 pcbaichi 于 2011-2-16 20:09 编辑 ]

免费赠送河蟹一只
2011-02-16 20:06
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:0 
那样的话,age函数里就不必再判断了

勤能补拙,熟能生巧!
2011-02-16 20:11
快速回复:多返回一个数值
数据加载中...
 
   



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

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