用c语言编写递归函数将整数n转化为字符串
时间: 2023-12-04 16:10:00 浏览: 120
将整数转换成字符串的函数
4星 · 用户满意度95%
可以使用以下的递归函数将整数n转化为字符串:
```c
void intToStr(int n, char str[]) {
if (n == 0) {
str[0] = '0';
str[1] = '\0';
return;
}
if (n < 0) {
str[0] = '-';
n = -n;
}
int i = 0;
while (n > 0) {
str[i++] = n % 10 + '0';
n /= 10;
}
str[i] = '\0';
reverse(str);
}
void reverse(char str[]) {
int i = 0;
int j = strlen(str) - 1;
while (i < j) {
char temp = str[i];
str[i] = str[j];
str[j] = temp;
i++;
j--;
}
}
```
该函数首先处理特殊情况,如果n为0,则直接将字符串设置为"0"。如果n为负数,则在字符串的第一个位置加上负号,并将n变为其绝对值。然后,将n的每一位转换为字符,并将其存储在字符串中。最后,调用一个辅助函数reverse,将字符串反转,使其成为正确的顺序。
注意,该函数假设字符串数组足够大以容纳整数n的每一位数字和一个终止符'\0'。
阅读全文