1.问题描述:
顺序打印一个整数的每一位;如520则打印5 2 0(递归);
2.代码实现:
#include<stdio.h>
void print(int n)
{
if(n>9)
print(n/10);
printf("%d ",n%10);
}
int main()
{
int n;
scanf("%d",&n);
print(n);
return 0;
}
3.代码分析:
当n为520时;一开始满足n>9;所以又进入if print(520/10);
然后52也满足if,print(52/10);
最后n=5;不满足if,只进行打印5;
反过来进行回归,print(52)完成if以后,然后打印(52%10=2);
然后就是print(520)还没有完成printf(520%10);