C语言题目,求助~~~~~~

来源:百度知道 编辑:UC知道 时间:2024/05/27 07:34:41
求输出结果:

main()
{ int y=10;
do{y--;}while(--y);
printf("%d\n", y--);
}

结果是:0
简单的说;--y可以理解为先自减,再使用y;y--是先使用y后在自减。
开始y=10;进入do,出来是y=9;while判断,先减少即y=8,然后判断,非零,所以继续do,一次类推,当最后从do出来时,y=1,进入while,先对y自减,y=0;这是while的表达式为0;所以循环结束;进入printf,此时y=0;所以先用y,将其输出,因此看到的是0;然后y自减。

你可以在后面再加一句:printf("%d\n",y);这是输出的就是刚才自减以后的y,为-1;

输出0,
do...while();循环退出条件是当y=0。所以最后输出的是y=0

0