c - 如何从 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。任何帮助,将不胜感激。
解决方案
位数将是大于 的最小整数log10(value)
。所以你确切地知道你的数组的哪些元素将被填充。
或者,您可以逐步形成数组,然后如果您希望它以相反的顺序反转它。
推荐阅读
- angular - 翻译路线的最佳方式
- python - 如何按单词将 txt 文件拆分为列表,但在元素上包含逗号
- php - php正则表达式名称不能超过50个字母怎么办?
- x11 - 如何使用 xdotool 自动化实用程序键入“+”号?
- php - 使用 mpdf 生成多个 pdf 文件,但只生成一个
- python - 重塑DataFrame时出现ValueError
- php - 在 Docker 中部署时无法连接到数据库
- javascript - 切换到 JQuery 后从 PHP 到 JS 的响应不起作用
- reactjs - 接受任何类型的 React 组件作为道具的 Typescript 类型是什么?
- angular - Angular 2 - 在导航到另一个组件时等待可观察和查询参数时如何显示微调器?