用递归法将一个整数n转换成字符串,用c语言编写
时间: 2023-12-04 18:54:28 浏览: 100
好的,我可以回答您的问题。以下是用递归法将一个整数n转换成字符串的c语言代码:
```
#include <stdio.h>
#include <stdlib.h>
char* int_to_string(int n) {
// 分配一个字符数组
char* str = (char*) malloc(sizeof(char) * 12);
// 如果n是负数,先添加一个负号
if(n < 0) {
str[0] = '-';
n = -n;
}
// 如果n是一位数,直接转换成字符
if(n < 10) {
str[1] = '\0';
str[0] = n + '0';
return str;
}
// 对n的个位数转换成字符
str[0] = n % 10 + '0';
// 递归转换n/10,并将结果拼接到str后面
char* prev = int_to_string(n / 10);
int i = 1;
while(prev[i-1] != '\0') {
str[i] = prev[i-1];
i++;
}
str[i] = '\0';
free(prev);
return str;
}
int main() {
int n = 12345;
char* str = int_to_string(n);
printf("%d converted to string is: %s", n, str);
free(str);
return 0;
}
```
希望能够帮到您,如果您还有其他问题,请继续提问。
阅读全文