标题:【求助】采用递归方法实现将输入的字符串反相保存,这样写可以么?
只看楼主
d170621773
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-12-12
结帖率:0
已结贴  问题点数:20 回复次数:6 
【求助】采用递归方法实现将输入的字符串反相保存,这样写可以么?
void reverse(char s[]){
  static int k=0;
  char ch;
  if((ch=getchar())!='\n'){
    reverse(s);
    s[k++]=ch;
   }//if
}
搜索更多相关主题的帖子: void 字符串 
2012-12-12 10:13
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
老大,自己测试一下 不就ok;
但是 我建议 在子函数体内 别出现类似getchar() 一类的东东

DO IT YOURSELF !
2012-12-12 10:15
小梦妍
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2012-12-12
得分:5 
菜鸟路过
2012-12-12 10:17
d170621773
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-12-12
得分:0 
回复 2楼 wp231957
偶测呢,一直熟么都木有显示的说..........
2012-12-12 10:39
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
得分:5 
这个明显不能达到反向保存啊
2012-12-12 11:50
神话归来99
Rank: 1
等 级:新手上路
帖 子:5
专家分:5
注 册:2012-9-7
得分:5 
这种写法不能达到
2012-12-12 14:12
d170621773
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-12-12
得分:0 
回复 5楼 jk_love
这样保存是可以的,貌似最后返回K值然后相应下标加上\0
#include<stdio.h>
int fun(char a[])
{
 static int k=0;
 char ch;
 ch=getchar();
 if(ch!='\n'){
  fun(a);
  a[k++]=ch;
 }
 return k;
}

void main()
{
 int i;
 char a[100];
 i=fun(a);
 a[i]='\0';
 puts(a);
}
2012-12-12 18:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-390820-1-1.html




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

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