精通c语言递归的请进解决方法
精通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]);
}
}
[解决办法]
[解决办法]楼上讲解的极是。建议楼主设置一个比较小的初始值,单步调试,跟着流程走一遍。肯定会领悟递归的真谛
[解决办法]3楼讲的很清楚,建议lz单步调试,一步步查看内存变化了解其中的原理
[解决办法][解决办法]在理解上题的基础上,想加深理解递归建议楼主看看这个程序:
http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/Permutation.htm