| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 866 人关注过本帖
标题:函数递归的问题
只看楼主 加入收藏
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:0 
回复 9楼 soler_z
这样易懂点.
#include <stdio.h>
#include <stdlib.h>
void print_char(char *s,int n)
{
    
    if (n<0);
    else
    {
        printf("%c",s[n]);
        print_char(s,n-1);
    }
}


int main()
{
    char str[]="abcde";
    print_char(str,4);
    
    return 0;
}
2009-07-28 22:30
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:0 
。。。
有高手写了。
不过又学了招,return还可以什么都不带的.

[[it] 本帖最后由 mfkblue 于 2009-7-28 22:46 编辑 [/it]]
2009-07-28 22:32
iFreeBSD
Rank: 4
等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
收藏
得分:0 
递归写到你那个境界也算是牛b了

反转字符的递归很容易写。
#include <stdio.h>
int main(void) {

    char c = fgetc(stdin) ;
    if (c == '\n')
        return 0 ;
    else
       main() ;
    putchar(c) ;
 return 0 ;
}

without further ado, let’s get started
2009-07-28 22:41
soler_z
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:28
专家分:130
注 册:2009-7-17
收藏
得分:0 
明白了,谢谢兄弟们,,,
犯了一个天大的错误。搞得很低级。
见笑了。。。
递归不该用for循环的,今天看指针看的头都大了,。。。
我说怎么总是超出范围呢,
睡觉了,别再丢人了,^_^。。。。
程序代码:
#include <stdio.h>
#include <stdlib.h>

void print_char(char *s)
{

        if(*s!='\0')
        {
                print_char(s+1);
                printf("%c ",*s);
        }
}

int main()
{
    char str[]="abcdefg";
    print_char(str);
    return 0;
}


[[it] 本帖最后由 soler_z 于 2009-7-28 22:58 编辑 [/it]]
2009-07-28 22:48
wxjeacen
Rank: 7Rank: 7Rank: 7
等 级:禁止访问
帖 子:1291
专家分:628
注 册:2009-3-22
收藏
得分:0 
程序代码:
#include<iostream>
using namespace std;
int main(void)
{
    string s;
    cin>>s;
    reverse(s.begin(),s.end());
    cout<<s;
    return 0;
}

生命不熄,战斗不止.
2009-07-28 22:48
xiaogu149162
Rank: 2
等 级:论坛游民
帖 子:47
专家分:97
注 册:2009-7-16
收藏
得分:0 
个人觉得你的程式 有问题吧,好像是死函数
2009-07-28 23:05
快速回复:函数递归的问题
数据加载中...
 
   



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

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