下列程序的输出结果是( )。 main() {intp[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2)j+=p[i]; printf("%dXn

admin2010-09-05  28

问题 下列程序的输出结果是(    )。   
main()
   {intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;
   while(i++<7)  
if(p%2)j+=p;   
printf("%dXn",j);
   }

选项 A、42
B、45
C、56
D、60

答案B

解析 在C语言中,数组的下标默认为0,因此数组p的下标范围为:0~7。程序循环过程为:第1次循环i=0,执行循环,并且i自加,得i=1,因此p为p[1]=12,12%2=0,不执行后面的语句:接着进行第2次循环,此时i=1,小于7执行循环,并且i自加,得i=2,因此p为p[2]=13,13%2=1,执行后面的语句;这样一直到退出循环。最后,i的值为.i=13+15+17=45。
转载请注明原文地址:https://kaotiyun.com/show/llWp777K
0

最新回复(0)