试图在C语言中创建一个整数到二进制转换器,但是它只是打印随机字符串

问题描述 投票:0回答:1

我现在正在学习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进行编译

如果您知道我做错了什么,可以告诉我。谢谢

<<
c
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.