返回字符串的基本转换器

时间:2015-12-06 09:58:37

标签: c string recursion type-conversion

我有一个问题,我需要将转换后的数字转换为字符串,然后返回它。问题是我不知道我是如何尝试添加使用(字符)(数字+ 48)但它不起作用我试过itoa函数,但同样的事情。但函数需要递归。 谢谢你的帮助!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int itoc (int number, int base) {

    if(number == 0) return number;

    return (number % base) + 10 * itoc(number / base, base);
}


int main()
{   int a,b;
    scanf("%d%d", &number ,&base);
    printf("%d",itoc(number,base));
    return 0;
}

上面的版本是返回整数的版本。

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式完成此操作。我使用sprintf的方法之一。在这里你需要对此进行一些改动,如下所示:

int main()
{
    int number,base;
    scanf("%d %d", &number ,&base);
    int ret=itoc(number,base);
    char str[32];
    sprintf(str, "%d", ret);//this convert it to string.
   // printf("%s\n",str);
    return 0;
}