关于递归的问题
#include "stdio.h"void main()
{
int i;
i=5;
void palin(int n);
printf("\40:");
palin(i);
printf("\n");
}
void palin(int n)
//int n;
{
char next;
if(n<=1)
{
next=getchar();
printf("\n\0:");
putchar(next);
}
else
{
next=getchar();
palin(n-1);
putchar(next);
}
}
这里的值是5,也就是输入5个后进行倒序输出,可是运行结果是只输入三个就给输出了,为什么?请高手点播一下
还是Getchar本来就只能输入一个字符的,也就是,在本程序,next只存一个字符,所以理论上下一次的输入会把上一次的覆盖,可是在这里又为什么能存几个字符呢?