c语言如何将一个未知数的每一位存到数组里
时间: 2024-10-20 18:18:38 浏览: 21
在C语言中,如果你有一个未知长度的整数,并想将其每一位存储到数组中,通常会先将这个整数转换为字符串,然后遍历字符串的每一位。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void int_to_chars(int num, char result[]) {
static int pos = 0; // 用于追踪数组位置
if (num == 0) { // 数字已经处理完,添加空字符作为终止符
result[pos++] = '\0';
return;
}
while (num > 0) {
result[pos] = num % 10 + '0'; // 取余得到最低位,加 '0' 转换为字符
num /= 10; // 向右移除最低位
pos++;
}
}
int main() {
int number = 123456789;
char digits[10]; // 假设我们预估最多有10位数字
int_to_chars(number, digits);
printf("Number digits as array: ");
for (int i = 0; i < pos; i++) {
printf("%d", digits[i]);
}
printf("\n");
return 0;
}
```
在这个例子中,`int_to_chars`函数会把输入的数字转换成字符串形式,存储在`result`数组中。`main`函数展示了如何调用这个函数并打印出结果。
阅读全文