| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:关于递归的问题
只看楼主 加入收藏
hzj1556
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-12-4
收藏
 问题点数:0 回复次数:6 
关于递归的问题
#include "stdio.h"
void main()
{
int i;
i=5;
void palin(int n);
printf("\40:");
palin(i);
printf("\n");
}

void palin(int n)
//int n;
{
char next;
if(n<=1)
{
next=getchar();
printf("\n\0:");
putchar(next);
}
else
{
next=getchar();
palin(n-1);
putchar(next);
}
}
 
这里的值是5,也就是输入5个后进行倒序输出,可是运行结果是只输入三个就给输出了,为什么?请高手点播一下
还是Getchar本来就只能输入一个字符的,也就是,在本程序,next只存一个字符,所以理论上下一次的输入会把上一次的覆盖,可是在这里又为什么能存几个字符呢?
搜索更多相关主题的帖子: 递归 
2010-04-21 21:53
hzj1556
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-12-4
收藏
得分:0 
高人,大侠,多指教
2010-04-21 21:56
lddwh
Rank: 2
等 级:论坛游民
帖 子:34
专家分:79
注 册:2010-4-7
收藏
得分:0 
能啊,我输入:12345

输出结果就是:54321

我什么都没有改动
2010-04-21 22:13
张春萧
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2010-4-21
收藏
得分:0 
还好啊。就是函数声明的问题,换个位置就好:放在main上
2010-04-21 22:48
hzj1556
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-12-4
收藏
得分:0 
原来我加了空格,现在明白了,但是getchar 函数为什么能一直存五个数呢?
这是一个问题
2010-04-21 23:07
MIQIKing
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:36
专家分:106
注 册:2010-3-21
收藏
得分:0 
#include "stdio.h"
void palin(int n);
void main()
{
   
    int i;
    i=5;
    printf("\40:");
    palin(i);
    printf("\n");
}

void palin(int n)
//int n;
{
    char next;
    if(n<=1)
    {
        next=getchar();
        printf("\n\0:");
        putchar(next);
    }
    else
    {
        next=getchar();
        palin(n-1);
        putchar(next);
    }
}

2010-04-22 07:32
hzj1556
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-12-4
收藏
得分:0 
回复 5楼 hzj1556
这不和我的一样的吗?
还是getchar()的问题
2010-04-23 14:57
快速回复:关于递归的问题
数据加载中...
 
   



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

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