| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 312 人关注过本帖
标题:C和C#输出结果不一样?
收藏  订阅  推荐  打印 
星空神话
Rank: 1
等级:新手上路
帖子:3
积分:136
注册:2008-8-7
C和C#输出结果不一样?

int i=3,k;k = (i++) + (i++) + (i++); 输出结果 k=12
但是在C中输出却是 看k=9 是不是编译系统不同还是怎么的?
搜索更多相关主题的帖子: 输出  结果  系统  int  编译  
2008-8-13 20:02
duanchangren
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:234
积分:2503
注册:2008-7-26

人才
怎么会是9呢
不存在
2008-8-14 01:23
小仙
Rank: 12Rank: 12Rank: 12
来自:光之谷
等级:版主
威望:12
帖子:1153
积分:7980
注册:2008-8-8

在C中是9的原因是,运算符的优先级问题,C#中可能没有这个区别,C中是右边的++运算级要低于+。也就是说,先执行完+号再自加“++”,++放在左边,运算级就高于+号了,那么也就是C中(++i)+(++i)+(++i)=12了。
2008-8-18 08:11
lzwat
Rank: 1
等级:新手上路
帖子:6
积分:160
注册:2008-7-26

说的还不错啦楼主不过再问个问题[url=http://www.uu34.cn]美女人体艺术[/url],那就是为什么在招聘信息里都写得是我看不懂的东西?
2008-8-18 09:49
deleter
Rank: 4
等级:高级会员
威望:1
帖子:859
积分:9138
注册:2007-7-5

小仙 在 2008-8-18 08:11 的发言:

在C中是9的原因是,运算符的优先级问题,C#中可能没有这个区别,C中是右边的++运算级要低于+。也就是说,先执行完+号再自加“++”,++放在左边,运算级就高于+号了,那么也就是C中(++i)+(++i)+(++i)=12了。
学习了

物理学家的问题在于他们总是试图用作弊的方法获得结果。
数学家的问题在于他们总是试图获得最幼稚的问题的结果。
软件测试工程师的问题在于他们总是试图用作弊的方法获得最幼稚的问题的结果。
2008-8-18 10:32
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051989 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved