C语言编程问题!!高手救命,在线等答案

来源:百度知道 编辑:UC知道 时间:2024/05/16 01:52:17
#include "stdio.h"
main()
{
int num,k;
int count=0;
int p[1];
printf("输入\n");
scanf("%d",&num);
while(num!=0)
{
p[count]=num%2;
//k=num%2;
count++;
num=num/2;
printf("%d ",p[count]);

//printf("%d ",k);

}
printf("\n%d",count);
}

这个题目是转换2进制数,这是前半段,用来依次让十进制除以2的余数,存入P数组里面,前半段如果输出数组的话因该是相映的倒序2进制数,可是我这个程序的结果很莫名,数字很大。
而且我如果相应的把数组赋直改为注释里的,输出的就能得到倒序2进制数。
高手指点下,我想知道我哪里错了,一定数组赋直有什么问题。。。谢谢了

。。。
你输出的时候count都移走了,就不知道在输出什么了

#include "stdio.h"
main()
{
int num,k;
int count=0;
int p[1];
printf("输入\n");
scanf("%d",&num);
while(num!=0)
{
p[count]=num%2;
//k=num%2;

num=num/2;
printf("%d ",p[count]);
count++;
//printf("%d ",k);

}
printf("\n%d",count);
}

这样