C语言程序数组

来源:百度知道 编辑:UC知道 时间:2024/05/28 02:44:04
这个程序是怎么运行的?
main()
{
int y=18,i=0,j,a[8];
do
{
a[i]=y%2; i++;
y=y/2;
}
while(y>=1);
for(j=i-1;j>0;j--)
printf("%d",a[j]);
printf("\n");
}

int y=18,i=0,j,a[8]; //初始化

do//进入do循环 第一次
{
a[i]=y%2; //a[0](数组a下标0)的值为0
i++; //i=1
y=y/2; //y=9
}while(y>=1); //条件符合 继续循环

do//进入do循环 第二次
{
a[i]=y%2; //a[1]的值为1
i++; //i=2
y=y/2; //y=4
}while(y>=1); //条件符合 继续循环

do//进入do循环 第三次
{
a[i]=y%2; //a[2]的值为0
i++; //i=3
y=y/2; //y=2
}while(y>=1); //条件符合 继续循环

do//进入do循环 第四次
{
a[i]=y%2; //a[3]的值为0
i++; //i=4
y=y/2; //y=1
}while(y>=1); //条件符合 继续循环

do//进入do循环 第五次
{
a[i]=y%2; //a[4]的值为1
i++; //i=5
y=y/2; //y=0
}while(y>=1); //条件不符 终止循环

for(j=i-1;j>0;j--)
printf("%d",a[j]);
printf("\n");
//这没啥好说的 倒着循环输出数组a里的值 从a[4]到a[1]

main()
{
int y=18,i=0,j,a[8];
do
{
a[i]=y%2; i++;
y=y/2;
}
while(y>=1);