求助一道C语言问题

下列程序段的运行结果是( )。
int a[]={6,5,4,3,2,1},i;
for(i=0;i<6;i++)
if(i%2)
a[i]+=2;
for(i=0;i<6;i++)
printf("%d ",a[i]);
A、6 7 4 5 2 3
B、8 5 6 3 4 1
C、8 7 6 5 4 3
D、6 7 6 5 4 5
正确答案: A
为什么选A麻烦详细解释一下

for(i=0;i<6;i++)
if(i%2)
a[i]+=2;
执行的结果是(所有奇数下标的数组元素+2)
int a[]={6,5,4,3,2,1}就变成了:(记得a[0]=6,a[1]=5)
int a[]={6,7,4,5,2,3}
所以选答案A
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-05
福尔摩斯反推啊,答案都给你了,在第二,第四,第六的时候数值加了2,那就是判断条件在第二,第四,第六的时候是成立的,第二:1%2,第四:3%2,第六:5%2。那这个判断条件就是i%2不能被整除的情况下a[i]+=2
相似回答