谁能帮我解释一下这个c语言程序

2024-12-02 14:57:22
推荐回答(1个)
回答(1):

这是一个把输入的十进制数转换为二进制数的程序,对程序略作修改:
#include
int main ()
{
int i=0,m=0, qy[32]={0}; //可处理稍大一点的数
scanf("%d", &m); //读入m
for(;m>0;i++) //当m>0时
{
qy[i]=m%2; //除2取余数,保存到数组中
m/=2; //m除以2
}

for (i--;i>=0;i--) //头上的i--去除开头的0
{
printf("%d", qy[i]); //从高位开始,逐位输出二进制值

if(i%4==0)
{
printf(" "); //从低位开始,每4位一段,便于观看
}
}
return 0 ;

}