求大神帮忙看一下一道c语言的题

我是要16进制换成2进制可否帮忙看一下哪里错了?#include<stdio.h>intc;main(){inta;intb;scanf("%x%x",&a,&b);c=... 我是要16进制换成2进制 可否帮忙看一下哪里错了?
#include<stdio.h>
int c;
main()
{
int a;
int b;
scanf("%x%x",&a,&b);

c=a+b;
}
void printx()
{

if (c<0xf)
switch(c)
{
case 0x0:
printf("0000");
break;
case 0x1:
printf("0001");
break;
case 0x2:
printf("0010");
break;
case 0x3:
printf("0011");
break;
case 0x4:
printf("0100");
break;
case 0x5:
printf("0101");
break;
case 0x6:
printf("0110");
break;
case 0x7:
printf("0111");
break;
case 0x8:
printf("1000");
break;
case 0x9:
printf("1001");
break;
case 0xa:
printf("1010");
break;
case 0xb:
printf("1011");
break;
case 0xc:
printf("1100");
break;
case 0xd:
printf("1101");
break;
case 0xe:
printf("1110");
break;
case 0xf:
printf("1111");
break;

}
if(c/16)
printx(c/16);
}
展开
 我来答
覃寞
2015-11-23 · 超过64用户采纳过TA的回答
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:98.1万
展开全部
定义了void printx()
里面又有一个
printx(c/16);

不说逻辑问题,首先参数就不对

然后写了这个函数 主函数里根本没有用到
更多追问追答
追问
请问这个参数怎么写啊。。
追答
首先我要弄清楚你的需求,是特意这样做练习C语言,还是目的就是把16进制转换成2进制,用别的方法也可以。

你这种做法,要一位一位的转换,但是你想取出每一位数字的方式不正确。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式