搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 一个简单的数值运算:求高手
标题:
一个简单的数值运算:求高手
只看楼主
bailong4643
等 级:
论坛游民
帖 子: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
等 级:
蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
第
2
楼
得分:1
根据运算符的优先级:++ 最大,=最小,+在它们之间,再看结合性,++右到左,+左到右,=右到左,又因为是前自增,所以:第一个加加后,a=4.第二个加加后a=5.第三个加加后a=6.所以总上,b=15.
2012-04-16 23:49
bailong4643
等 级:
论坛游民
帖 子:9
专家分:17
注 册:2012-3-26
第
3
楼
得分:0
回复 2楼 ab1034982749
vc里面调试b=16·vs里面调试b=18;
2012-04-17 07:08
寒风中的细雨
等 级:
贵宾
威 望:
66
帖 子:1710
专家分:8645
注 册:2009-9-15
第
4
楼
得分: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
等 级:
蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
第
5
楼
得分:0
本人才疏学浅,对于你的提问完全是出于自己推算,经你说了之后。本人也分别在VC6.0和VS2010上进行了测试,结果自然和你的也一样,
所以我也很纳闷…………
2012-04-17 11:29
寒风中的细雨
等 级:
贵宾
威 望:
66
帖 子:1710
专家分:8645
注 册:2009-9-15
第
6
楼
得分:0
回复 5楼 ab1034982749
像这样的表达式 和编译器的具体实现有关 只要自己明白前后之间的区别就可以了 没什么不对的 要用的时候注意点用就好了
2012-04-17 11:54
lucky563591
等 级:
小飞侠
威 望:
4
帖 子:765
专家分:2103
注 册:2009-11-18
第
7
楼
得分:1
这种问题没意义。
2012-04-17 11:57
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-365970-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.118749 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved