有以下程序:#iaclude <stdio.h>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( "%

admin2013-02-23  13

问题 有以下程序:#iaclude <stdio.h>main( ){  intp[8] :{11,12,13,14,15,16,17,18},i=0,j:0;    while(i++<7) if(p%2) j+ =p;    printf( "%’d \n" ,j);}程序运行后的输出结果是(   )。

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

答案2

解析 程序执行过程如下:
   i=0:i++<7为真,p%2即为p[1]%2,值为0,不执行j+=p;j=0;
   i=1:i++<7为真,P%2即为p[2]%2,值为1,执行j+=p;j=13;
   i=2:i++<7为真,p%2即为P[3]%2,值为0,不执行j+=p;j=13;
   i=3:i++<7为真,p%2即为P[4]%2,值为1,执行j+=p];j=13+15=28;
   i=4:i++<7为真,p%2即为p[5]%2,值为0,不执行j+=P;j=28;
   i=5:i++<7为真,P%2即为P[6]%2,值为1,执行j+=P;j=28+17=45;
   i=6:i++<7为真,P%2即为p[7]%2,值为0,不执行j+=p;j=45;
   i=7:i++<7为假,结束循环,输出j的值45。
   可见,程序的功能是求除p[0]外的其他奇数的和。
转载请注明原文地址:https://jikaoti.com/ti/GNn0FFFM
0

最新回复(0)