C-如何将数字的数字分割成一个数组

  • 本文关键字:数字 数组 一个 分割 c
  • 更新时间 :
  • 英文 :


如果我有一个数字(长(,我如何将其数字拆分为数组?

示例:4003607001000014->CCD_ 2。

我尝试使用模(n % (10 * i)(,其中i1开始,其值在for循环的每次迭代中增加10的倍数。然后将结果添加到从n到0的数组中,但这样,任何零都会被忽略。

尝试每次迭代将数字除以10,这比通过增加10的幂进行模运算更简单:

unsigned char digits[BIG_ENOUGH];
unsigned long number;
unsigned i = 0;
while (number) {
digits[i++] = number%10;
number /= 10;
}

如果您需要digits[0]来存储最高有效位而不是最低有效位,请稍后反转数组:

for (unsigned low = 0, high = digits-1; low < high; low++, high--) {
unsigned char tmp = digits[low];
digits[low] = digits[high];
digits[high] = tmp;
}

最新更新