编写c代码将一个整数n转换成字符串(不用递归法)
时间: 2024-01-08 18:04:47 浏览: 87
以下是将整数n转换为字符串的C代码:
```c
#include <stdio.h>
#include <stdlib.h>
char* int_to_string(int n) {
int i = 0, j;
int sign = 1;
char* str;
if (n < 0) {
sign = -1;
n = -n;
}
do {
i++;
n /= 10;
} while (n > 0);
if (sign == -1) {
i++;
}
str = (char*)malloc(sizeof(char) * (i + 1));
str[i] = '\0';
if (sign == -1) {
str[0] = '-';
}
j = i - 1;
do {
str[j--] = n % 10 + '0';
n /= 10;
} while (n > 0);
return str;
}
int main() {
int n = -12345;
char* str = int_to_string(n);
printf("%s\n", str);
free(str);
return 0;
}
```
这个函数首先判断整数的符号,然后计算整数的位数。接下来,它动态分配一个字符串数组,将整数转换为字符串,最后返回这个字符串数组的指针。在主函数中,我们将一个整数传递给这个函数,并打印输出转换后的字符串。注意,我们还需要释放分配的字符串数组的内存。
阅读全文