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