输入一个0到255之间的十进制整数,要求把此数转化为二进制,八进制和十六进制形式。请问下面编程哪里错了?
#include<stdio.h>void main()
{
int x,i,j,p,q,m,n,d,e,r1,r2,r3;
char a[80],b[80],c[80];
scanf(“%d”,&x);
d=x,e=x,p=x;
for(i=0;d>0;i++)
{r1=d%2;
d/=2;a[i]='0'+r1;}
for(j=0;e>0;j++)
{r2e%8;e/8;
b[j]='0'+r2;}
for(q=0;p>0;q++)
{r3=p%16;p/=16;
if(r3>=10)
c[q]='A'+r3―10;
else
c[q]='0'+r3;}
for(m=i―1;m>=0;m― ―)
printf(“%c”,a[m]);
for(m=j―1;m>=0;m― ―)
printf(“%c”,b[m]);
for(m=q―1;m>=0;m― ―)
printf(“%c”,c[m]);
}