我现在正在学习C,并且正在用C制作Denary to Binary转换器,并且遇到了这个我无法解决的问题
// Includes
#include <stdio.h>
#include <math.h>
typedef enum {false,true} bool;
// intToBinary Function
char* intToBinary(int d)
{
bool not0 = true;
char* outputstr = "";
while(not0 == true)
{
int d = floor(d/2);
int rem = d % 2;
char num = rem;
outputstr += (char)num;
if(d==0)
{
printf("%s\n",outputstr);
return outputstr;
}
}
}
// Main Function
int main()
{
int inp;
printf("Enter A Number To Be Converted\n");
scanf("%d", &inp);
char* out = (char*)intToBinary(inp);
printf(out);
return 0;
}
我不确定为什么,但是我得到的唯一输出是:r待转换和r要转换(重复))>
我正在Windows 10上使用msys进行编译
如果您知道我做错了什么,可以告诉我。谢谢
<<