C中的递归十进制到二进制转换器

时间:2017-10-02 16:26:35

标签: c recursion

我写了一个递归函数传递一个字符串(我也试过传递一个字符串指针(char **))来生成一个二进制字符串表示,它在xcode中完美地工作,但是它在HackerRank中不起作用。任何想法为什么这不起作用?

char* binaryRep( int n, char* binString ){
    if( n>1 ){
        snprintf(binString,25,"%s%d",binaryRep(n/2,binString),n%2);
        return binString;
    } else {
        snprintf(binString,25,"%d",n%2);
        return binString;
    }
}

int main(){
    int n;
    scanf("%d",&n);

    char* binString = (char *)malloc(sizeof(char)*25);
    binaryRep( n, binString );

    printf("%s\n",binString);
    return 0;
}

0 个答案:

没有答案