问题 单项选择题

有以下程序 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选项为所选。

判断题
单项选择题