例:输入1234,输出1 2 3 4
我们可以通过下面这种方法得到每一位。
int num = 0;
scanf("%d", &num);
while (num>9)//当数字大于9就不进入循环,直接在最后打印
{
printf("%d ", num % 10);//取到最后一位
num /= 10; //消去最后一位
}
printf("%d", num);//打印剩下的数字
return 0;
按照这种方法的话我们只能逆着取到每一位,要想顺着取到,只能使用递归。
递归实现
void print(int num)
{
if (num > 9)
print(num / 10);
printf("%d ", num % 10);
}
int main()
{
int num = 0;
scanf("%d", &num);
print(num);
return 0;
}
递归使用条件
要有一个停止调用的条件
每次调用之后都会越来越接近这个条件