gpt4 book ai didi

将 int 转换为 'C' 中的 int[]

转载 作者:行者123 更新时间:2023-12-02 07:44:27 25 4
gpt4 key购买 nike

我基本上想转换给定的 int 数字并将单个数字存储在数组中以供进一步处理。我知道我可以使用 % 并获取每个数字并存储它。但问题是,如果我直到运行时才知道 int 的位数,因此我无法分配数组的大小。所以,我不能向后工作(从单位位置)。我也不想先将数字反向词存储在一个数组中,然后再反转数组。有没有其他方法可以做到这一点?

例如:int num = 12345; 输出:ar[0] = 1,ar[1] = 2 等等,其中 ar[] 是一个 int 数组。

最佳答案

转换可能不是正确的词。可以取int,动态分配一个新的int[],然后把int的数字存入int[]。我正在使用以 10 为底的对数来计算 num 有多少位数。包含 math.h 以使用它。以下代码未经测试,但可以让您了解该怎么做。

int num = 12345;
int size = (int)(log10(num)+1);

// allocate array
int *digits = (int*)malloc(sizeof(int) * size);

// get digits
for(int i=size-1; i>=0; --i) {
digits[i] = num%10;
num=num/10; // integer division
}

关于将 int 转换为 'C' 中的 int[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8005175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com