| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6549 人关注过本帖
标题:关于while(n--)的问题
只看楼主 加入收藏
skysky198344
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-10-27
收藏
 问题点数:0 回复次数:14 
关于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
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
while( n-- );、、这有分号哦
所以要结束循环只有当n=0,此时还要做n=n-1 为-1

倚天照海花无数,流水高山心自知。
2008-10-27 12:06
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
LS正解,LZ结果怎么可能是6哦

简单的生活
2008-10-27 12:14
R如果
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-10-26
收藏
得分:0 
是不是编译错误了呢?while是最基本的语句 看来LZ需要去看看书去了
2008-10-27 12:17
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
恩 好像应该是  -1

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008-10-27 12:56
donadonny
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-10-13
收藏
得分:0 
LZ能不能解释一下你怎么得出6这个答案来的?
2楼正解
2008-10-27 13:17
skysky198344
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-10-27
收藏
得分:0 
哦,是-1,对不起大伙,我看编程头都晕了,打错了。其中我疑惑的是,while中是个判断,但是n--是表达式,应该返回表达式的值,我觉得当n=1时,计算后是0,结束循环。然后打印n。
对这个while是如何处理括号中的条件不是清楚,请大家指教。
2008-10-27 13:36
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
n为0的时候结束while...

简单的生活
2008-10-27 13:54
donadonny
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-10-13
收藏
得分:0 
如果想输出n = 0;
那就用while( --n );就行了
2008-10-27 14:02
skysky198344
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2008-10-27
收藏
得分:0 
是啊,我对自增自减用法还是不熟,要好好学习。谢谢大伙了。
2008-10-27 15:05
快速回复:关于while(n--)的问题
数据加载中...
 
   



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

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