c语言,把一个整数转换成字符串,并倒序保存到字符数组str中
时间: 2024-11-20 20:42:53 浏览: 21
在C语言中,将一个整数转换成字符串并倒序存储到字符数组`str`中,可以借助一些库函数或者自定义函数来完成。这里提供一种常见的方法,即使用标准库函数`itoa()`或者`sprintf()`配合循环,先将整数转换成字符串,然后从后向前填充字符数组。
例如,假设我们有一个整数`num`,字符数组`str`已经足够大能容纳这个字符串:
```c
#include <stdio.h>
#include <string.h>
void int_to_reverse_str(int num, char str[]) {
// 如果输入的整数小于0,添加负号
if (num < 0) {
str[0] = '-';
num = -num;
} else {
str[0] = '\0'; // 初始化为结束标志
}
// 使用itoa()函数将数字转为字符串,注意这需要头文件<stdio.h>
// 注意itoa()可能不受所有平台支持,如果需要兼容性更好,可以用自制的itoa()
int len = itoa(num, str+1); // 结果长度不包括结束符'\0'
// 为了确保整个字符串是逆序的,从最后一个元素开始遍历并前移
for (int i = len; i > 0; --i) {
str[i] = str[i-1];
}
str[0] = '\0'; // 添加结束符
}
int main() {
int num = 123456;
char str[11]; // 至少需要10个字符(最大9位数加1个结束符)
int_to_reverse_str(num, str);
printf("Reversed string: %s\n", str);
return 0;
}
```
阅读全文