帮我用c++语言写一个用递归法将一个整数n转换成字符串的代码
时间: 2024-05-07 18:15:51 浏览: 104
C++中几种将整数转换成二进制输出的方法总结
下面是一个用递归法将一个整数n转换成字符串的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
void int_to_str(int n, char* str)
{
// 如果n为负数,先加上负号
if (n < 0) {
*str++ = '-';
n = -n;
}
// 将n转换成字符串
if (n / 10) {
int_to_str(n / 10, str);
}
*str++ = n % 10 + '0';
*str = '\0';
}
int main()
{
int n = -123;
char str[20];
int_to_str(n, str);
printf("n = %d\n", n);
printf("str = %s\n", str);
return 0;
}
```
这个代码的思路是先判断n是否为负数,如果是则在字符串的开头加上负号。然后将n除以10,得到的商继续递归调用int_to_str函数,直到商为0为止。在每一层递归函数中,我们将n模10得到余数,将其加上字符0得到对应的字符,然后将该字符加入到字符串末尾。最后在字符串末尾加上结束符'\0'。
阅读全文