问题 单项选择题

下列程序的运行结果是( )。 main() { int x=1,y=3,a=0; while(x++!=(y-=1) ) { a+=1; if(y<x)break; } printf("%d,%d,%d\n",x,y,A) ; }

A.2,3,2,

B.2,3,1

C.1,3,3

D.3,1,2

答案

参考答案:D

解析: 本题考查while循环。第一次循环,先拿x的值和(y-1)比较,此时x=1,y-1=2,循环条件成立,比较完将x的值加1,此时x=2,进入循环,a=a+1=1,判断if语句的控制条件是否成立,y<x不成立,接着执行下一次循环。第二次循环,先拿x的值和(y-1)比较,此时x=2,y-1=1,循环条件成立,比较完将x的值加1,此时x=3,进入循环,a=a+1=2,判断if语句的控制条件是否成立,y<x成立,执行break语句退出循环。

单项选择题 案例分析题
单项选择题