一、功能需求
在使用C语言的过程中,经常要用到一个
不定长的数字拆分
这个功能,那么改如何实现这样的需求呢?
二、解决办法
我们可以使用一个叫做移位求余
的方法来循环截取一个数字.代码如下:
#include<stdio.h>
int main()
{
int a[10],i=0,x=984872482,t;//x表示一个不定长的数
t=x;
printf("t=%d(original)\n",x);
a[0]=x%10;//移位求余无法求得第一个数,因此,第一位数直接通过求余得到
while(t>0)
{ a[++i]=(t=t/10)%10; //注意,a[0]已经有了,因此先自增
printf("t=%d\n",t);
}
//注意,a[]的下标要先将1,否则取不到
for(i--;i>=0;i--)
printf("%d ",a[i]);
}
运行结果如下所示: