| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 344 人关注过本帖
标题:优先级计算问题
只看楼主 加入收藏
wang36051022
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-8-25
结帖率:100%
收藏
 问题点数:0 回复次数:4 
优先级计算问题
程序代码:
int main()
{

   int x,y,nextnum;
   x=2;
   y=3;
   nextnum=(x+y++)*6;
   printf("%d",nextnum);



    return 0;
}int main()
{

   int x,y,nextnum;
   x=2;
   y=3;
   nextnum=(x+++y)*6;
   printf("%d",nextnum);



    return 0;
}
为何这两个程序答案一样?
搜索更多相关主题的帖子: 优先级 
2010-08-31 13:03
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
因为都是先引用了后赋值

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-08-31 13:25
wang36051022
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-8-25
收藏
得分:0 
谢谢你的回答  可是我还是不太明白  能具体点说明一下嘛   本人是初学者   不是很明白这里
2010-08-31 13:30
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
回复 3楼 wang36051022
前面那个是y++  等价于 (x+(y++))*6      
后面那个是x++  等价于 ((x++)+y)*6
整个式子的结果是一样的 但是x、y的情况不一样

[ 本帖最后由 jack10141 于 2010-8-31 13:49 编辑 ]

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-31 13:48
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
前面那个相当于 (x+(y++))*6
程序先引用y=3 然后x+y=5 5*6=30  但是y现在是4      
后面那个等价于 ((x++)+y)*6
程序先引用x=2 然后x+y=5 5*6=30  但是x现在是3



到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-08-31 14:19
快速回复:优先级计算问题
数据加载中...
 
   



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

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