c语言中关于字符串反转问题

来源:互联网 发布:python 2.7.2.msi 编辑:程序博客网 时间:2024/04/29 15:37

小弟昨天在论坛上看见这样一段关于翻转字符串的代码:



#include <stdio.h>

void reverse(char *s)

{

if(s[0] == '\0')

return;

else

{

reverse(&s[1]);

putchar(s[0]);

}

}

int main()

{

char s[100];

gets(s);

reverse(s);

return 0;

}

输入:sf

输出:fs



为什么putchar(s[0]);可以多次调用? 是因为在最后s[0]==’\0',才把它以前调用的值依次输出么?好奇恨   求解释。。。。。

原创粉丝点击