打印一个无符号整形,按照顺序打印它的每一位,这里我们使用递归制作
目录
代码
#define _CRT_SECURE_NO_WARNINGS 1
//函数自己调用自己便被称为递归
#include<stdio.h>
//打印一个无符号整形,按照顺序打印它的每一位
void s_x(unsigned int a)//自定义函数,强制转换整形
{
if (a > 9)//表示为两位,可以拆分
{
s_x(a / 10);//每次/10,拆分一位,递归
}
printf("%d ", a % 10);//除10之后
}
int main(void)
{
unsigned int i = 0;//初始值
printf("请输入:\n");
scanf("%u", &i);
s_x(i);
return 0;
}
总结
unsigned 表示强制转换类型
因为是无符号整形,所以使用%u
打印的时候拆分打印,个位数就不需要拆分,直接向下进行
多位数拆分,按照递归算法,调用自己向下进行,直到无法拆分向下进行,取模打印返回值