问题
单项选择题
有以下程序
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("%d\n",k);
执行后输出的结果足
A.58
B.56
C.45
D.24
答案
参考答案:D
解析: 本题考核的知识点是 while循环语句的程序分析。在主函数中首先定义了一个数组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。所以,D选项为所选。