关于C语言自增自减类问题

#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 自己看循环条件~一次一次算~

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网