#include <stdlib.h>
void d2b(int i);
int main()
{
int i;
printf("2進数に直したい10進数の正の整数を入れてください,負の数の場合は終了です\n");
scanf("%d",&i);
if(i<0 || i>255){
exit(i);
}
else if(i >= 0){
printf("10進数表示%dの2進数表示は,\n ",i);
d2b(i);
printf("です.\n");
}
}
void d2b(int i)
{
int a[8],x;
for(x=0;x<8;x++){
a[x]=i%2;
}
for(x=7;x>=0;x--){
printf("%d\n",a[x]);
}
printf("\n");
}
計算結果が、変な値になってしまいます、教えてください。