下面程序段的运行结果是( )
int i=0, a[]={3,4,5,4,3};
do{
a[i]++;
}while(a[++i]<5);
for(i=0;i<5;i++)
printf("%d",a[i]);
A. 45654 B.34543 C.45554 D.45543
i=0时,a[0]=3+1=4,循环条件i=1时,4<5为真,a[1]=4+1=5,i=2时,条件为假退出循环,通过for循环输出结果为45543,下一题同理
求助
快乐小土狗 回复 八千: 见楼上
这个题难点在于这个while这里
用户登录可进行刷题及查看答案
首先do...while语句,先执行do里面然后再判断while是否为真来循环
a[0]++;那么a[0]3就变成4
然后a[++i]<5,这里根据优先级,++i就要先i+1也就是a[0+1]<5,a[1]的值是4所以继续循环
后面同理a[1]++,a[1]就变成5,然后a[2]<5不成立,循环就结束了,实际上就前两个元素加了1
所以就是45543,选D
登录后提交答案