void f(int n)
{if(n<3) printf("%d",n);
else{f(n/3);
printf("%d",n%3);
}
}
这是递归啊,而且是逆序输出。
f(15) 不满足if(n<3),所以调用f(n/3),即f(5)
f(5),不满足if(n<3),所以调用f(5/3),即f(1)
f(1),满足if(n<3),输出n,即输出1
回退到f(5)的printf,输出5%3,即2
再回退到f(15),输出15%3,即0
所以最后输出120
输出是:1 2 0 ,因为printf("%d",n); 语句里"%d" 没有空格间隔,所以就成了:120.
这个是在函数递归