考试
2021-01-07 12:29:42

运行以下程序后,输出结果是()。

题目描述

运行以下程序后,输出结果是()。

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]);

}

答案解析

[db:答案解析]

0010解析:此程序的作用是实现数组的赋值与输出。首先执行循环语句:do{a[i]=y%2;i++;y=y/2;} while(y>=1);每次循环将y取余的结果存储到数组中,同时将y的值除以2直到y的值小于1循环结束,循环结束时,数组a的值变为:{0,1,0,0};接下来程序执行循环语句:for(j=i-1;j>=0;j--)printf(“%d”,a[j]);将数组a中的值倒序打印出来,所以程序最后的输出结果为:0010。

加载中...
AI正在思考中,请稍候...