| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6551 人关注过本帖
标题:关于while(n--)的问题
取消只看楼主 加入收藏
skysky198344
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-10-27
收藏
 问题点数:0 回复次数:4 
关于while(n--)的问题
这段程序让我费解。
#include<stdio.h>
main()
{
  int n = 10;
  while( n-- );
  printf( "n=%d\n", n);
}
输出的是-1,为什么如此结果?
while对条件的判断是怎么回事?
请教则个

[[it] 本帖最后由 skysky198344 于 2008-10-27 13:38 编辑 [/it]]
搜索更多相关主题的帖子: _while 
2008-10-27 12:02
skysky198344
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-10-27
收藏
得分:0 
哦,是-1,对不起大伙,我看编程头都晕了,打错了。其中我疑惑的是,while中是个判断,但是n--是表达式,应该返回表达式的值,我觉得当n=1时,计算后是0,结束循环。然后打印n。
对这个while是如何处理括号中的条件不是清楚,请大家指教。
2008-10-27 13:36
skysky198344
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-10-27
收藏
得分:0 
是啊,我对自增自减用法还是不熟,要好好学习。谢谢大伙了。
2008-10-27 15:05
skysky198344
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-10-27
收藏
得分:0 
这样我可不可以吧这个空循环理解成这个样子,

while(n--)  <=> while (n)
                {
                  n=n-1;
                 }
这样的话当n=0的时候,根本不执行循环.
可能这个理解不正确,请大伙指点,是由于优先级的问题还是别的其他问题。
2008-10-30 10:28
skysky198344
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-10-27
收藏
得分:0 
请解释一下原因,我对上面的理解成那样可以吗?请指教
2008-10-30 16:30
快速回复:关于while(n--)的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036006 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved