C语言中自减的问题

main()
{ int x=2;
while (x--);
printf(“%d\n”,x);
}
在这个程序里,不管x为何值,输出值总为-1,请高手解释下哈,谢

第1个回答  2010-01-13
应为while (x--);要执行3次。
第一次:x=2,语句完了,x=1
第二次:x=1,语句完了,x=0
第三次:x=0,语句完了,x=-1,推出循环。
printf(“%d\n”,x);得到-1。
这个程序关键是没循环体,只有判断语句。当x=0时循环要判断,但不执行循环体,而且这个程序是没循环体。
第2个回答  2010-01-13
因为要退出循环,x就要减到-1
如果你想打印
2
1
则把while后的;去掉
第3个回答  2010-01-13
你知道什么时候退出while循环,这个题不就出来了。很显然x--=0;时退出,x后面一个自减,结果就出来了。本回答被提问者和网友采纳
第4个回答  2010-01-13
补充楼上的
while()中的x值是0的时候就是“非"
1或大于1是就是”是“ 所以嘛 。。
第5个回答  2010-01-13
楼上正解
楼主注意下while()后面那个分号有什么用

相关了解……

你可能感兴趣的内容

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