有以下程序段( ) main() {int x=0,y=5,z=3; while(z-->0&&++x<5)y=y-1; printf("%d,%d,%d\n",x,y,z); 程序执行后的输出结果是

admin2010-04-24  13

问题 有以下程序段(    )    main()    {int x=0,y=5,z=3;    while(z-->0&&++x<5)y=y-1;    printf("%d,%d,%d\n",x,y,z);    程序执行后的输出结果是

选项 A、3,2,0
B、3,2,-1
C、4,3,-1
D、5,-2,-5

答案B

解析 循环体共执行三次,y=5-3=2。因受循环限定条件"z-->0&&++x<5"的限制,当z=0时,循环被直接终止而不再执行"++x<5"的判定,x的值仍是上次循环时所获得的值3。此时Z--仍执行一次,z=-1。
转载请注明原文地址:https://jikaoti.com/ti/GitaFFFM
0

最新回复(0)