当前位置: 代码迷 >> C语言 >> [求助]我真的不理解,这个程序怎么就实现了字符的反向输出呢?
  详细解决方案

[求助]我真的不理解,这个程序怎么就实现了字符的反向输出呢?

热度:95   发布时间:2007-08-16 00:40:00.0
[求助]我真的不理解,这个程序怎么就实现了字符的反向输出呢?
#include <stdio.h>
void f()
{
int c = getchar();
if(c!='\n')
f();
putchar(c);
}

int main(void)
{
f();
return 0;
}
搜索更多相关的解决方案: 字符  输出  

----------------解决方案--------------------------------------------------------

文章里应该讲得挺清楚的呀
----------------解决方案--------------------------------------------------------
你能帮我,解释一下吗?getchar()不是从键盘输入一个字符吗,输入N个也可以吗?
----------------解决方案--------------------------------------------------------
的确只读取一个啊,问题就是实际上是多次调用了getchar啊
----------------解决方案--------------------------------------------------------
太经典了,看不太懂呀,能不能详细解释一下呀?
----------------解决方案--------------------------------------------------------
那它是怎么实现“反向”输出的
----------------解决方案--------------------------------------------------------

楼主画个函数递归过程图可能就明白了


----------------解决方案--------------------------------------------------------

void f()
{
int c = getchar();
if(c!='\n')
f();
putchar(c);
}
怎么就实现了反向输出呢,就靠putchar(c);它吗?它不也是输出一个字符吗?


----------------解决方案--------------------------------------------------------
f只接收一个并输出一个,剩下的交由里面的f来处理啊

[此贴子已经被作者于2007-8-16 1:20:34编辑过]



----------------解决方案--------------------------------------------------------
你举个例子 吧,比如:我从键盘输入abc三个字符,f()函数是怎么工作的,谢谢你了美女!
----------------解决方案--------------------------------------------------------
  相关解决方案