getchar字符串 输出

来源:百度知道 编辑:UC知道 时间:2024/06/14 13:30:38
#include"stdio.h"
void sum( char s)
{ if(s!='\n') sum(getchar());
printf("%d",s);
}
main()
{ printf(" ")
sum(getchar());
}
在这个程序输入一段字符串后为什么会反向输出呢?

sum在这里是个递归函数。它的工作原理是你输入 why 再按回车。
w从main函数输入sum,因为不等于'\n'于是执行sum(getchar()),得到字符h,同上,一直到回车符('\n'),才输出。于是最后的结果是反向的