标题:
请教C语言中关于递归函数的理解问题
[打印本页]
作者:
1258011
时间:
2019-3-22 22:17
标题:
请教C语言中关于递归函数的理解问题
怎么理解这个C语言递归函数呢?为什么它的功能是逆序输出P指向的字符串呢?还有putchar()函数在递调用自身语句之前或者之后,这有什么区别吗?
程序如下:
#include <stdio.h>
int fun (char*p)
{
if(*p==0)
return 0;
fun(p+1);
putchar(*p);
return 0;
}
main()
{
char ch[]="ABCD";
fun(ch);
}
作者:
wangyueli
时间:
2019-3-23 20:17
因为它所指向的地址+1,先输出的A往后面排,然后B排前面
作者:
大力水手PP
时间:
2019-3-23 21:05
如果putchar()函数在递归调用自身语句之前执行,那会输出ABCD
如果putchar()函数在递归调用自身语句之后执行,那会输出DCBA
作者:
内向男
时间:
2019-3-24 09:04
同意板凳,输出在递归调用之前是顺序打印,,输出在递归调用之后就是逆序打印,返回的时候打印。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1