将十进制转换为二进制错误(C)

阿斯拉德

我最近开始用C编程,无论我怎么努力,我都真的找不到这里的错误。

char* dec2Bin(int number) {
    char* bin = calloc(9, sizeof(char));
    if(bin!=NULL) {
      bin[8] = '\0';
      int i = 7;
      while(number != 0 && i>=0){
          bin[i] = (number%2) +'0';
          number/=2;
          i--;
      }
    }
    return bin;
}


int main() {
    int number;
    printf("Enter a number: ");
    scanf("%d", &number);

    char* bin = dec2Bin(number);
    if(bin!=NULL) {
      printf("%s", bin);
      free(bin);
      return EXIT_SUCCESS;
    }

    return EXIT_FAILURE;
}

输入数字后,它什么也不显示;奇怪的是,当我在函数循环中执行printf时,它确实为bin [i]打印了一些内容。

在此先感谢您的帮助。

Parnab Sanyal

void *calloc(size_t nmemb, size_t size)分配nmemb数量的内存块并初始化它们0,在\0这种情况下,将其类型转换为字符。现在,printf将打印bin字符串,直到获得\0字符为止让我们举个例子。如果我输入12输出应该是1100但是在你的bin字符串中是\0\0\0\01100\0因此printf在遇到第一个\0字符后停止打印

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将十进制转换为二进制的C ++程序出现分段错误

来自分类Dev

将二进制字符串转换为十进制时结果错误

来自分类Dev

Arduino C / C ++将二进制字符串转换为十进制

来自分类Dev

如何将十进制转换为二进制C#(4位)

来自分类Dev

将十进制数转换为二进制Objective-C

来自分类Dev

C将十进制scanf输入转换为二进制数组

来自分类Dev

将十进制转换为二进制的C ++循环的逻辑是什么

来自分类Dev

C ++从字符串输入将二进制转换为十进制

来自分类Dev

c++ 将十进制数转换为二进制数

来自分类Dev

Perl十进制转换为二进制

来自分类Dev

十进制转换为二进制

来自分类Dev

十进制到二进制转换错误

来自分类Dev

十进制到二进制转换C ++

来自分类Dev

十进制转换为二进制,打印错误答案

来自分类Dev

如何将二进制分数转换为十进制

来自分类Dev

将十进制浮点数转换为二进制并返回

来自分类Dev

将二进制字符串转换为十进制

来自分类Dev

将十进制转换为二进制有问题

来自分类Dev

按给定顺序将二进制转换为十进制

来自分类Dev

在Python 3中将十进制数转换为二进制数

来自分类Dev

将二进制向量转换为十进制

来自分类Dev

如何将很长的二进制数转换为十进制?

来自分类Dev

用Python将十进制转换为二进制半精度IEEE 754

来自分类Dev

如何将二进制分数转换为十进制分数?

来自分类Dev

将二进制数转换为十进制的方法

来自分类Dev

将二进制值转换为十进制矩阵

来自分类Dev

将字符串中的十进制转换为二进制时出错

来自分类Dev

如何将二进制转换为十进制(LUA)

来自分类Dev

使用python可视化将十进制转换为二进制

Related 相关文章

热门标签

归档