| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 900 人关注过本帖
标题:这里是一个利用递归函数调用方式的问题,请大家看看,谢谢!
只看楼主 加入收藏
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
结帖率:80%
收藏
 问题点数:0 回复次数:4 
这里是一个利用递归函数调用方式的问题,请大家看看,谢谢!
首先谢谢大家能看我的贴,问题如下:
#include "stdio.h"
void main()
{
    void palin(int n);
    int i=5;
    printf("\40:");
    palin(i);
    printf("\n");
}
void palin(int n)
{
    char next;
    if(n<=1)
    {
        next=getchar();
        printf("\n\0:");
        putchar(next);
    }
    else
    {
        next=getchar();
        palin(n-1);
        putchar(next);
    }
}
这里是函数调用函数?palin(n-1);这里应该怎么理解?
把i-1然后在调用?只到N<=1吗?
我输入一些数后,这里next=getchar();貌似只能保存1个数字啊,为什么我能输入几个数呢?
然后回车以后返回了三个数,不管输入什么,都返回三个数,这里三个数是被掉转的^
搜索更多相关主题的帖子: 递归 函数 
2008-07-19 22:36
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
这里是个递归!我已经了解了!可是不明白这几个问题:
我输入一些数后,这里next=getchar();貌似只能保存1个数字啊,为什么我能输入几个数呢?
然后回车以后返回了三个数,不管输入什么,都返回三个数,这里三个数是被掉转的^

编程小菜
2008-07-19 23:25
chengli
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-7-3
收藏
得分:0 
递归使用堆栽来实现的,getchar()函数的输入结果放在队栽中的
如 输入 12345\n 的话 就会输出
54321
如果一个一个输入的话,相当于 1 \n 2 \n 3 \n 回车也是一个ASCII码  不要忘了  所以就
3
2
1
再加上printf("\n\0:");
光标就跳到了 下一行了
2008-07-20 08:54
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
恩,了解了!谢谢啊!

编程小菜
2008-07-20 16:13
zhougou17
Rank: 1
等 级:新手上路
帖 子:8
专家分:8
注 册:2009-8-31
收藏
得分:0 
#include<stdio.H>
void main()
{
long sum(int n);
int n;
printf("Please input number");
scanf("%d",&n);
printf("1+2+3....100=%d,%ld",n,sum(n));
getch();
}
long sum(int n)
{
if(n==1)
return 1;
else
return (n+sum(n-1));
}
2010-05-12 16:44
快速回复:这里是一个利用递归函数调用方式的问题,请大家看看,谢谢!
数据加载中...
 
   



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

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