【发布时间】:2014-11-24 07:21:38
【问题描述】:
如何将整数转换为 C 中的数字数组?
例如:
我有一个整数:int a=12345;
我想要一个包含其数字的数组:
int arrayofdigits={1,2,3,4,5};
【问题讨论】:
-
你尝试过什么?
-
char buf[sizeof(int) * CHAR_BIT + 1]; snprintf(buf, sizeof buf, "%d", a); -
@TheParamagneticCroissant 当然不需要 33 个字符来表示 32 位有符号整数,即使尾随空字符也是如此?
-
签出this!
-
@PascalCuoq 我不知道
int在 OP 的实现中是否为 32 位长。此缓冲区大小确保整数可以在 任何 可能的基数以及终止NUL中进行格式打印。安全总比后悔好。