#include <stdio.h>
void Transform(int *p,int x);
void Print(int *p,int r[]);
int main()
{
int r[16];
int *p = r;
int x;
do{
printf("Input an integer which belong to 0~65535:\n");
scanf("%d",&x);
}while( (x<0) || (x > 65535) );
Transform(p,x);
printf("The binary is:\n");
Print(p,r);
return 0;
}
//将十进制数转换为二进制数
void Transform(int *p,int x)
{
while(x!=0)
{
*p = x % 2;
x = x / 2;
p ++;
}
}
//打印二进制数
void Print(int *p,int r[])
{
p --;
for( ;p >= r ;p --)
{
printf("%d", *p);
}
}
请问这个将十进制数转换为二进制数的代码有什么问题