c itoa实现
时间: 2024-02-24 16:57:11 浏览: 84
C 中的 itoa 函数可以将一个整数转换成字符串。
下面是一个简单的 itoa 实现:
```c
void itoa(int num, char* str)
{
int i = 0, sign = num;
if (sign < 0) num = -num;
do {
str[i++] = num % 10 + '0';
} while ((num /= 10) > 0);
if (sign < 0) str[i++] = '-';
str[i] = '\0';
reverse(str);
}
void reverse(char* str)
{
int i = 0, j = strlen(str) - 1;
while (i < j) {
char tmp = str[i];
str[i++] = str[j];
str[j--] = tmp;
}
}
```
使用示例:
```c
int num = -12345;
char str[20];
itoa(num, str);
printf("num = %d, str = %s\n", num, str); // output: num = -12345, str = -12345
```
注意,在调用 itoa 函数之前,需要先定义一个可以存储转换后字符串的字符数组。同时,该函数只能处理整数类型,不能处理浮点数类型。如果需要处理浮点数类型,可以使用 sprintf 函数。
阅读全文