历史人物论文怎么写:C语言数组问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 13:53:06
main()
{
int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<7) if(p[ i ]%2) /*能解释下这时候是余数是多少它才循环*/
j+=p[ i ];
printf("%d\n",j);
}
程序运行后的输出结果是 B/*能详细解释下吗?*/
A)42
B)45
C)56
D)60
为什么11不行

刚开始I=0有i<7 自加i=2判断p[2]%2是否非0由于12偶数,不执行j不变!
i=2<7,自加i=3判断p[3]%2是否非0,由于13奇数,执行j=0+13不变!
i=3有i<7 自加i=4判断p[4]%2是否非0,由于14偶数,不执行j不变!
i=4有i<7 自加i=5判断p[5]%2是否非0,由于15奇数,执行j=13+15不变!
....
最后i=7跳出
所以13+15+17

13+15+17
先判断是否i<7
判断后i+1
在看if是否成立