| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1482 人关注过本帖
标题:一个C程序,大家帮我解释一下好吗?
只看楼主 加入收藏
lxdailwj
Rank: 1
来 自:江苏省
等 级:新手上路
帖 子:46
专家分:0
注 册:2008-4-5
收藏
 问题点数:0 回复次数:15 
一个C程序,大家帮我解释一下好吗?
大家帮我解释一下好吗?
main()
{
    int i=2;
    while(i--);
    printf("%d",i);
   
}
答案是:-1
搜索更多相关主题的帖子: 解释 int main 
2008-06-01 21:33
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
收藏
得分:0 
问题的关键是i-- 与 --i 的区别!

while(i--)的执行过程是   先判断while(i),然后再i--,然后根据前面的判断结果来确认是否执行while后面的循环体。



如果while语句变成   while(--i);
最后输出结果就会是0。

[[it] 本帖最后由 Kid_X 于 2008-6-1 22:26 编辑 [/it]]
2008-06-01 22:25
语虫
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2008-5-18
收藏
得分:0 
很简单,看书!
2008-06-01 23:42
bbccca
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-02 00:29
bbccca
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-02 00:56
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
关键在于:循环体是空语句
PS:输出-1是对的

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-06-02 01:02
hustxx
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-02 01:11
Loli
Rank: 1
来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
收藏
得分:0 
建议楼主先保持好一个好的编程习惯,别一上手头文件没还,main还缺失返回值

" border="0" />[color=white]
2008-06-02 09:18
lxdailwj
Rank: 1
来 自:江苏省
等 级:新手上路
帖 子:46
专家分:0
注 册:2008-4-5
收藏
得分:0 
嗯,谢谢loli的建议,不过在主函数内,return应该可以省掉吧,还是没有那个解释更好
谢谢各位的参与
2008-06-02 19:16
lxdailwj
Rank: 1
来 自:江苏省
等 级:新手上路
帖 子:46
专家分:0
注 册:2008-4-5
收藏
得分:0 
哦,又看了一下,可能是这样的。
就像一楼说的,先执行while(i),当i变为负数的时候,循环就停止,最后输出
2008-06-02 19:18
快速回复:一个C程序,大家帮我解释一下好吗?
数据加载中...
 
   



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

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