除了楼上提到的printf那里用b[i]之外,第一个循环i没有初值,而且i没有变化。
#include
int main()
{
int a, c, i;
int b[40] = { 0 };
scanf("%d", &a);
for (i=0; a >= 1;i++)
{
c = a % 2;
a = a / 2;
b[i] = c;
}
for (i--; i >= 0; i--)
printf("%d", b[i]);
return 0;
}
请把printf语句中的a[i]改成b[i]。