我写了一个递归函数传递一个字符串(我也试过传递一个字符串指针(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;
}