itoa函数用C语言怎么写
时间: 2023-05-26 08:04:36 浏览: 140
以下是一种简单的itoa函数实现:
```c
#include <stdio.h>
#include <string.h>
void itoa(int num, char* str)
{
int i = 0;
int rem = 0;
int sign = 0;
if (num < 0) {
num = -num;
sign = 1;
}
do {
rem = num % 10;
str[i++] = rem + '0';
num /= 10;
} while (num);
if (sign) {
str[i++] = '-';
}
str[i] = '\0';
// Reverse the string
int len = strlen(str);
char temp;
for (int j = 0; j < len / 2; j++) {
temp = str[j];
str[j] = str[len-j-1];
str[len-j-1] = temp;
}
}
int main(void)
{
int num = -1234;
char str[20];
itoa(num, str);
printf("Number %d is converted to string %s\n", num, str);
return 0;
}
```
这个函数首先判断输入的数字是否为负数,如果是则设置标记并将数字取绝对值。然后通过模10和除10运算,得到数字的每一位,并将其转换为字符存入一个字符数组中。如果原始数字是负数,最后在数组的末尾加上一个负号。
最终,函数需要将字符数组反转,否则数字的顺序将不正确。
程序输出:
```
Number -1234 is converted to string -1234
```
阅读全文