首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

精通c语言递归的请进解决方法

2012-08-11 
精通c语言递归的请进这是一个用递归逆序打印字符串的代码,后面的递归实在看不懂啊,求解释,万分感谢:#inclu

精通c语言递归的请进
这是一个用递归逆序打印字符串的代码,后面的递归实在看不懂啊,求解释,万分感谢:

#include<stdio.h>
int main()
{
char sentence[80];
void reverse(char *);

printf("Enter a line of text:\n");
gets(sentence);
printf("\nThe line printed backwards is:\n");
reverse(sentence);
printf("\n");
return 0;
}
void reverse(char *s)
{
if(s[0]=='\0')
return;
else
{
reverse(&s[1]);
putchar(s[0]);
}

}


[解决办法]

探讨
这是一个用递归逆序打印字符串的代码,后面的递归实在看不懂啊,求解释,万分感谢:

#include<stdio.h>
int main()
{
char sentence[80];
void reverse(char *);

printf("Enter a line of text:\n");
gets(sentence);
printf("\nThe line printe……

[解决办法]
楼上讲解的极是。建议楼主设置一个比较小的初始值,单步调试,跟着流程走一遍。肯定会领悟递归的真谛
[解决办法]
3楼讲的很清楚,建议lz单步调试,一步步查看内存变化了解其中的原理
[解决办法]
探讨

谢谢各位,3楼的讲解太给力了,我再慢慢体会去。

[解决办法]
在理解上题的基础上,想加深理解递归建议楼主看看这个程序:
http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/Permutation.htm

热点排行