| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 400 人关注过本帖
标题:输出问题?还是函数调用的问题呢?
只看楼主 加入收藏
kifine
Rank: 2
等 级:论坛游民
帖 子:48
专家分:49
注 册:2011-5-9
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:4 
输出问题?还是函数调用的问题呢?
自己练习函数的递归调用,
此程序就是让用户输入一个数,如果,所输入数值不是10000,系统就会利用函数递归调用,使数值增加到10000,然后显示出来
问题出现了,无论我输入什么数,都不显示10000,但是,我把它改成1000,就可以显示了,
不知哪里有问题?

#include "stdio.h"

void main()
{
    int a(int b);
    int c;
    scanf("%d",&c);
    c=a(c);
    printf("%d",c);
}

int a(int b)
{
    if(b==10000)   //问题在这里
        ;
    else
    {
        b++;
        b=a(b);
    }
    return b;
}
搜索更多相关主题的帖子: return 用户 
2011-05-09 03:56
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:5 
int a(int b)
{
    if(b==10000)   //问题在这里
  return b;
    else
    {
        b++;
        b=a(b);
    }
    return b;
}
main()
{int a(int b);
    int c;
   e: scanf("%d",&c);
    if(c>10000)goto e;
    else {c=a(c);
    printf("%d",c);}
getch();
}
2011-05-09 07:19
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:5 
程序代码:
#include "stdio.h"

void main()
{
    int a(int b);
    int c;

    scanf("%d",&c);
    printf("%d\n",a(c));
}

int a(int b)
{
    if (b < 10000)
        return a(++b);
    else if (b > 10000)
        return a(--b);
    return b;
} 
2011-05-09 08:23
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
回复 楼主 kifine
在c <= 10000 的有效输入下 你的程序没有问题
2011-05-09 08:26
fangdong65
Rank: 5Rank: 5
等 级:职业侠客
帖 子:73
专家分:301
注 册:2011-4-1
收藏
得分:5 
三楼正解,程序里面最好不要用goto语句。
2011-05-09 09:16
快速回复:输出问题?还是函数调用的问题呢?
数据加载中...
 
   



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

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