A-A+

下列程序的输出结果是()。main{ int p[8]={11 12 13 14 15 16

2022-08-06 00:09:37 问答库 阅读 173 次

问题详情

下列程序的输出结果是()。
main
{ int p[8]={11,12,13,14,15,16,17,18},i=0,j =0;
while(i++<7)
if(p[i]%2)j+=p[i];
printf("%d\n",j);
}
A.42
B.45
C.56
D.60请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
C语言中,数组的下标默认为0,因此数组P的下标从0开始,所以p[8]的范围为0~7。第l次循环i=0,执行循环,得出i=1,因此p[i]为p[1]=12,12%2=0,不执行后面的语句;接着进行第2次循环,此时i=1,小于7执行循环,并且i自加,得i=2,因此p[i]为p[2]=13,13%2=1,执行后面的语句;依此类推最后退出循环。最后j的值为:j=13+15+17=45。

考点:程序