#include"stdio.h"
main()
{
int y=10;
do
{y--;}while(--y);
printf("%d\n",y--);
} 运行结果为什么是1?
2.
#include"stdio.h"
main()
{
int a=1,b=10;
{ b-=a;
a++;
} while(b--<0);
printf("a=%d,b=%d\n",a,b);
} 为什么运行结果是a=2,b=8?
我这样和你说,我给你的程序加了一个计数的变量n
我按计算机的循环和你说:
y--是9,n是1,--y是8;
y--是7,n是2,--y是6;
y--是5,n是3,--y是4
y--是3,n是4,--y是2
y--是1,n是5,while( --y是0),表达式为假,结束循环.但这里y的值会变成(0)
程序会接着执行输出,输出y--,表示先输出y的值(0),然后再自减;若要是输出--y表示y的值先自减(-1),然后在输出...明白了吗?希望给我分~thanks
第二个更简单:
首先b-=a表示b=b-a,也就是把b-a的值再赋值给b,这样,b的值为9;a++后的值为2;while的判断为假,故不再循环,b--后的值为8
所以程序最终为a=2,b=8
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-04-17
y--= y --y = y-1 自己看循环条件~一次一次算~