求这个函到底地是什么意思。。。。。

void palin(int n) { char next; if(n<1) { printf("\n\0:"); } else { next=getchar(); palin(n-1); putchar(next); } }以我的理解是:比如输入的n=3,执行else,比如输入ABC,再次调用palin函数,然后呢,putchar到底是怎么输出next的呢?
麻烦希望大侠们一步一步讲的清楚细节一点,3q~
void palin(int n) { char next; if(n<1) { printf("\n\0:"); } else { next=getchar(); palin(n-1); putchar(next); } }以我的理解是:比如输入的n=3,执行else,比如输入ABC,再次调用palin函数,然后呢,putchar到底是怎么输出next的呢?
/*输出一个数的两倍*/ #include<stdio.h> int fun1(int x);/*此函数计算平方的两倍*/ int fun2(int y);/*此函数计算平方*/ int main() { int n=3; printf("n=%d\n",fun1(n)); system("pause"); return 0; } int fun1(int x) { x=2*fun2(x); return x; } int fun2(int y) { y=y*y; return y; }
if(n<1) { printf("\n\0:"); } else { next=getchar(); putchar(next);///// palin(n-1);////// }若是这样的话,是在递推时输入及输出~(先输入的,先输出~)