题目:
输入一个整数,按顺序打印他的每一位数字,例如:输入1234,输出1 2 3 4。
思路:
- 有重复操作,且要求倒序输出,想到用递归。
- 重复性操作,每次都是输入数字,然后输出模的位。
- 递归两个限制条件:递归结束条件和每次递归所传的值
运行过程:
递归,第一次,不往下进行,再次进入函数,但之前的n为上次的n,例如:输入1234,第一次进去n1=1234,peintf为1234%10,但printf不会马上输出,因为输出他之前,会再次进入循环。此时n2=123,printf为123%10,但此时仍不会立马打印,因为n>1,n3=12,printf为12%10=2,仍不会立马打印,进入函数再次,n4=1,printf为1%10=1,立马打印,该次函数执行完毕,返回上一层函数,打印n3以此类推。
#include <stdio.h>
//输入一个整数,给他的每一位按顺序输出。例如:输入1234 输出 1 2 3 4
//思路:给数字模10,即%10,即可给末尾输出,依次类推,但因为从末尾模的,所以可采用递归,进行倒序输出。
void daoxu(int n)
{
if(n>1)
{
daoxu(n/10);
}
printf("%d