C语言求两道题的详细解题过程
展开全部
在do-while循环中:
第一次执行,x[0] = 0,之后a变为1,c变为7。判断c>=1条件,仍然满足,继续循环。
第二次执行,x[1] = 1,之后a变为2,c变为3。判断c>=1条件,仍然满足,继续循环。
第三次执行,x[2] = 1,之后a变为3,c变为1。判断c>=1条件,仍然满足,继续循环。
第四次执行,x[3] = 1,之后a变为4,c变为0。判断c>=1条件,不满足,退出循环体。
最后打印输出时就是将x[a]倒序输出,因此依次输出了x[3]、x[2]、x[1]、x[0]。
百度嫌我字数不够
第一次执行,x[0] = 0,之后a变为1,c变为7。判断c>=1条件,仍然满足,继续循环。
第二次执行,x[1] = 1,之后a变为2,c变为3。判断c>=1条件,仍然满足,继续循环。
第三次执行,x[2] = 1,之后a变为3,c变为1。判断c>=1条件,仍然满足,继续循环。
第四次执行,x[3] = 1,之后a变为4,c变为0。判断c>=1条件,不满足,退出循环体。
最后打印输出时就是将x[a]倒序输出,因此依次输出了x[3]、x[2]、x[1]、x[0]。
百度嫌我字数不够
追问
这个我懂了,第二个呢
追答
哪来的第二个,不是只有一张图片、一道题么。
展开全部
这题首先你先重写一下这段代码
int x[6];
int a=0;
int b;
int c=14;
do{
x[a]=c%2;
c /= 2;
a++;
}while(c>=1);
for(b=a-1; b>=0;b--)
{
printf("%d\n",x[b]);
}
do...while循环中会经历四次循环
第一次: x[0]=0; c=7; a=1;
第二次: x[1]=1; c=3; a=2;
第三次: x[2]=1; c=1; a=3;
第四次: x[3]=1; c=0; a=4;
for循环中其实是倒着从索引为3的地方开始检查这个x数组
四次打印结果其实就是
x[3] x[2] x[1] x[0]的值
int x[6];
int a=0;
int b;
int c=14;
do{
x[a]=c%2;
c /= 2;
a++;
}while(c>=1);
for(b=a-1; b>=0;b--)
{
printf("%d\n",x[b]);
}
do...while循环中会经历四次循环
第一次: x[0]=0; c=7; a=1;
第二次: x[1]=1; c=3; a=2;
第三次: x[2]=1; c=1; a=3;
第四次: x[3]=1; c=0; a=4;
for循环中其实是倒着从索引为3的地方开始检查这个x数组
四次打印结果其实就是
x[3] x[2] x[1] x[0]的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询