问题 单项选择题

下面程序的输出是______。
main()
int x=3,y=6,a=0;
while(x++!=(y-=1))
a+=1
if(y<x)break;

printf("x=%d,y=%d,=%d\n",x,y,a);

A) x=4,y=4,a=1 B) x=5,y=5,a=1
C) x=5,y=4,a=3 D) x=5,y=4,a=1

答案

参考答案:D

解析:[评析] 注意的是x++中x值的引用时,这里应当是先引用,后自加,具体执行过程如下:
第—次while循环:条件为真,执行a=a+1=1;此时,x的值已为4,判断y<x不成立,继续执行循环;
第二次while循环;条件为假,此时x的值已为5,退出while循环,执行printf。

单项选择题
多项选择题