A-A+
有以下程序 main() { int p[7]={11 13 14 15 16 17 18}
问题详情
有以下程序 main() { int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i];i++;} printf("%dn",k); } 执行后输出结果是
A.58
B.56
C.45
D.24请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
解析:在主函数中首先定义了一个数组p并初始化,在while后面括号里的表达式中,i初值为0,当p[i]为偶数时,P[i]%2等于0,根据“&&”运算符的规则,其表达式为假退出循环,显然当i=2时,p[i]=14为偶数,此时while后面括号里的表达式的值为假,退出循环,此时k=p[0]+p[1],即k=11+13。所以最后输出k为24。