用递归的方法将一个整数 n 转换成字符串。n 的位数不确定,可以是任意位数的整数。c语言
时间: 2024-05-09 18:16:29 浏览: 97
整数与字符串转换的C实现
5星 · 资源好评率100%
以下是递归实现将整数 n 转换为字符串的 C 代码:
```c
#include <stdio.h>
void intToStr(int n, char str[], int *pIndex) {
if (n < 0) {
str[(*pIndex)++] = '-';
n = -n;
}
if (n / 10) {
intToStr(n / 10, str, pIndex);
}
str[(*pIndex)++] = n % 10 + '0';
}
int main() {
int n;
char str[20];
int index = 0;
printf("请输入一个整数:");
scanf("%d", &n);
intToStr(n, str, &index);
str[index] = '\0';
printf("转换后的字符串为:%s\n", str);
return 0;
}
```
这里使用了一个指针 pIndex,它指向字符串的下一个位置。在递归过程中,先将 n 的符号位加入字符串中(如果有),然后再将 n 的绝对值不断除以 10,直到 n 为 0。每次递归结束后,将 n % 10 的值加入字符串的下一个位置,最后再在字符串的最后添加一个 '\0',表示字符串的结束。
阅读全文