要求:输入12345 输出 1 2 3 4 5
代码如下:
void print(int n)
{
if(n>9) // 9 是一位数的最大位,n>9的意思是n 是两位数以上的数
{
print(n/10); // “/10” 是求商 这里递归执行完了 之后是将多位数化成一位数,这时跳出if条件语句,执行下一句
}
printf("%d ",n%10); // “%10” 是取余 递归完了是剩下一位数,模10后输出,再返回到上一个递归模块,执行后输出第二位数字,以此类推...
}
int main()
{
int n = 0;
printf("请输入一个数:");
scanf_s("%d",&n);
print(n);
system("pause");
return 0;
}
执行结果:
过程
先执行 if 语句,
12345 / 10 = 1234
1234 / 10 = 123
123 / 10 = 12
12 / 10 = 1 ———–> 1 % 10 = 1
————————–> 12 % 10 = 2
————————– > 123 % 10 = 3
————————– > 1234 % 10 = 4
————————– > 12345 % 10 = 5