为了账号安全,请及时绑定邮箱和手机立即绑定

有关十进制转换二进制的问题。。。。

有关十进制转换二进制的问题。。。。

C
慕后端8527005 2018-05-05 10:22:30
include"stdio.h"#include <string.h>reverse(char s[]){        int temp,i,j;        for(i=0,j=strlen(s)-1;i<j;i++,j--)        {                      temp=s[i];                    s[i]=s[j];                    s[j]=temp;        }}main( ){            char bin[20];               unsigned n,i=0;            printf("Input a data");            scanf("%d",&n);            do            {                      bin[i++]=n%2;             }while((n/=2)!=0);            bin[i]='\0';             reverse(bin);            puts(bin);}为什么我输入后输出结果为空。。。
查看完整描述

1 回答

?
onemoo

TA贡献883条经验 获得超454个赞

我没有细看你代码的逻辑。只指出一点,也是你之前搞混的内容:你这里仍然是错误地使用了字符数组。

bin 是 char 数组,但是你并没有向其中存入正确的“字符”,你直接存入了 n%2 这样的整形值。就像我之前解释的那样,puts 是无法输出你想要的字符串的。

查看完整回答
反对 回复 2018-05-14
  • 1 回答
  • 1 关注
  • 1012 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信