90版本剑魂太刀流加点:简单题C语言

来源:百度文库 编辑:神马品牌网 时间:2024/03/28 22:15:04
(8) 以下程序运行后的输出结果是 【8】 。
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);
}
讲一下why

当p[i]=11的时候执行循环j=0+11=11 因为i++循环继续
当p[i]=13的时候执行循环j=11+13=24
当p[i]=14的时候不执行循环 循环结束 然后就输出j=24
小心不要以为是奇数的就都加~~
如果想算是奇数的相都加的话,可以在循环体里面用if语句来实现,不要在循环条件里完成。

哈哈 第一次回答别人问题 ,够不够完整~!

这道题的结果不是8,是24
while循环的条件是:数组中的奇数项,循环体是累加当前项,存在变量j中。第一次循环当前项是11,它是奇数所以累加到j,j=0+11=11;第二项也是奇数,所以j=11+13=24;第三项14是偶数,不符合循环条件,跳出循环,然后打印j的结果,值为24

好像结果是24吧