我是新来的C. 我正在编写一个程序来打印从0到给定数字(由用户提供)的所有十进制数字,但是我的输出并不是我所期望的。我不明白什么是错在那里我写的程序....程序打印所有十进制数字从0到二进制格式的给定数字
#include <stdio.h>
int main()
{
int x,n;
printf("Enter any number\n");
scanf("%d",&x);
n=x;
printf("numbers in binary format\n");
while(n!=0)
{
int num[8]={0,0,0,0,0,0,0,0};
int y[8]={0,0,0,0,0,0,0,0};
int i=7;
while(x!=0)
{
y[i]=x%2;
x=x/2;
i=i-1;
}
while(i!=8)
{
printf("%d",y[i]);
i=i+1;
}
printf("\n");
n=n-1;
}
}
什么是你的输出? oO –
您在循环的开始处忘了'x = n'。而且你的代码可能会崩溃,数字高于255。关于样式的说明:如果它们是'for for'循环,所有'while'循环都会更容易阅读。 – mafso
这个程序打印数字从给定的数字到0而不是从0到给定的数字 – mch