永发信息网

求助,递归实现字符串逆序存储

答案:1  悬赏:50  手机版
解决时间 2021-03-03 21:34
用递归实现字符串的逆序存储,不另开辟存储空间~·为什么结果不对那?还有最后释放内存,要在里用free函数啊?谢谢啦~·#include #include #include #define INITSTRLEN 100 typedef struct _string{ char *ch; int length; int strsize;}string; void initstring(string *s){ s->ch = (char *)malloc(INITSTRLEN * sizeof(char)); s->length = 0; s->strsize = INITSTRLEN; } char turn(string *s){ char temp; static int i = 0; if (i <=s->length / 2) { temp = s->ch[i]; s->ch[i] = s->ch[s->length-1-i]; s->ch[s->length-i-1] = temp; i++; turn(s); }
} void list(string *s){
printf("%s", s->ch); printf("\n");} int main(){ string s; initstring(&s); printf("please input the string s:\n"); scanf("%s", s.ch); turn(&s); list(&s); getch();}
最佳答案
答案如下,vc6.0运行通过:#include #include
#include
#include
#define INITSTRLEN 100
typedef struct _string{char *ch;int length;int strsize;}string;
void initstring(string *s){s->ch = (char *)malloc(INITSTRLEN * sizeof(char)); s->length = 0; s->strsize = INITSTRLEN; }
void turn(string *s){char temp;static int i = 0;if (i <=s->length / 2){temp = s->ch[i];s->ch[i] = s->ch[s->length-1-i];s->ch[s->length-i-1] = temp;i++;turn(s);}
}
void list(string *s){
printf("%s", s->ch);printf("\n");}
int main(){string s;initstring(&s);printf("please input the string s:\n");scanf("%s", s.ch);
s.length=strlen(s.ch);turn(&s);list(&s);
free(s.ch);
getch();
return 0;}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
潍坊市潍城区军埠口综合项目区辛庄村民委员会
java程序在浏览器中的兼容
如何有效控制员工不安全行为的发生
0.78里面有多少个0点01
CF战队T人怎么查看
购物清单图片.tar.bz2 是什么 网上好多,一定
汇金益怎么样
男孩子性格太内向太软弱怎么办
杨天T4900如何取消FN功能键盘
inter HD4000集成显卡怎么低配置玩GTA4。其他
威士伯涂料名象系列雷州专卖店怎么去啊,有知
除了余额宝还有什么理财产品 知乎
做梦梦见被狗咬了手指头,出血了,然后我爸带我
如何裁剪出圆形图片
韦壹手工面店地址有知道的么?有点事想过去
推荐资讯
【1300日元】1300日元等于多少RMB
我是大学生没工作朋友父亲丧事用随礼么关系还
你好,雄迈看看手机软件打不开,显示错误9998
苹果64g开关语音与数据是什么意思
三星a8卡槽2用电信卡怎么不能用
一个广右边加一个软耳读什么?急急急。。。
有一部韩国伦理剧在乡下开饭馆的老板娘每天还
如何做乡镇办公室主任工作
步行街这个地址在什么地方,我要处理点事
卜老师认为,上世纪五、六十年代有一张看不见
畅想未来我们生活中有哪些新能源,如何为我们
沈阳市哪里有学剑道的?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?