有以下程序 #include main() { int x=0,y=6; do { while(--y) x++;} while(y--); printf("%d,%d\n",x,y); } 程序的运行结果是( )。

admin2020-07-28  14

问题 有以下程序
#include
main()
{
int x=0,y=6;
do
{ while(--y) x++;}
while(y--);
printf("%d,%d\n",x,y);
}

程序的运行结果是( )。

选项 A、5,-1
B、6,0
C、5,0
D、6,-1

答案A

解析 考查do-while和while循环语句的执行过程。do-while语句是先执行循环体再判定循环条件,而while语句是先判定循环条件再执行循环体。自减运算符前置时,该变量是先自减1后再参与其他运算;自减运算符后置时,该变量是先参与运算后再自减1。由此,当y=1时,内层循环结束,此时x=5,y=0。外层循环的判定条件"y--"也为假,判定语句执行后y=-1,所以答案选A。
转载请注明原文地址:https://kaotiyun.com/show/Dh3p777K
0

最新回复(0)