| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 366 人关注过本帖
标题:一个简单的数值运算:求高手
只看楼主 加入收藏
bailong4643
Rank: 2
等 级:论坛游民
帖 子:9
专家分:17
注 册:2012-3-26
结帖率:50%
收藏
已结贴  问题点数:4 回复次数:6 
一个简单的数值运算:求高手
int a=3;
int b=++a + ++a + ++a;
cout<<b;··结果是多少?为什么VS2010和vc6.0的输出结果不一样····高手求过程
2012-04-16 23:25
ab1034982749
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
收藏
得分:1 
根据运算符的优先级:++  最大,=最小,+在它们之间,再看结合性,++右到左,+左到右,=右到左,又因为是前自增,所以:第一个加加后,a=4.第二个加加后a=5.第三个加加后a=6.所以总上,b=15.
2012-04-16 23:49
bailong4643
Rank: 2
等 级:论坛游民
帖 子:9
专家分:17
注 册:2012-3-26
收藏
得分:0 
回复 2楼 ab1034982749
vc里面调试b=16·vs里面调试b=18;
2012-04-17 07:08
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:1 
int b=++a + ++a + ++a;
前++
//vc6.0
       tmp
      /  \
   tmp    ++a
   /  \
++a   ++a

//vs
        3(a)
       /  \
    2(a)   ++a
   /  \
++a    ++a
2012-04-17 09:11
ab1034982749
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
收藏
得分:0 
本人才疏学浅,对于你的提问完全是出于自己推算,经你说了之后。本人也分别在VC6.0和VS2010上进行了测试,结果自然和你的也一样,
所以我也很纳闷…………
2012-04-17 11:29
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
回复 5楼 ab1034982749
像这样的表达式 和编译器的具体实现有关   只要自己明白前后之间的区别就可以了  没什么不对的   要用的时候注意点用就好了
2012-04-17 11:54
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:1 
这种问题没意义。
2012-04-17 11:57
快速回复:一个简单的数值运算:求高手
数据加载中...
 
   



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

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