问题
填空题
以下程序运行后的输出结果是______。
main()
int p[7]=(11,13,14,15,16,17,18);
int i=0,j=0;
while(i<7&&p[i]%2==1) j+=p[i++];
printf("%d\n",j);
答案
参考答案:X
解析: 我们在遇到这类题目的时候应该注意while语句的具体用法,while语句是执行到不符合的条件时就退出,要区分与for语句的不同,for语句是执行到不符合的时候仍然继续执行。在这道题目中,在p数组中,进行前两个判断的时候都符合条件,但到了第三个元素的时候,条件判断不成立,因此退出while循环,此时进行while内部的运算只有p数组中的前两个数据,因此,最后的执行结果是11+13=24。