首页 > 解决方案 > 如何从 int 值中获取数字并将其附加到数组中

问题描述

我想将数字(值)逐位附加到目标数组中,但我将如何向后迭代“i”?我这么说是因为我想使用 v / 10^i % 10 ,这将使我得到我想要使用 i 的任何地方的数字,其中 i = 0 是低位数字, v 是值。这是我到目前为止所做的:

value = va_arg( ap, int); 
       //value is the int value
       while(value > 0) {
          unsigned int digit1 = value / pow(10,i) % 10

          append( &dest, &len, &cap, digit1 + 048);

       }

附加部分可以忽略,因为它与问题无关,除了最后一个参数。最后一个参数需要一个字符。我没有设置“i”,因为我不确定如何迭代 i。任何帮助,将不胜感激。

标签: c

解决方案


位数将是大于 的最小整数log10(value)。所以你确切地知道你的数组的哪些元素将被填充。

或者,您可以逐步形成数组,然后如果您希望它以相反的顺序反转它。


推荐阅读