例:输入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;
}


递归使用条件
要有一个停止调用的条件
每次调用之后都会越来越接近这个条件
本文介绍了如何使用递归方式实现逆序和顺序遍历整数的每一位,包括逆序通过取余和整除操作,以及顺序递归的条件设计。

被折叠的 条评论
为什么被折叠?



