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 是无法输出你想要的字符串的。
- 1 回答
- 1 关注
- 1004 浏览
添加回答
举报
0/150
提交
取消