高手大哥们,帮我瞧瞧!!
#include<iostream.h>
void main()
{
int a=0,b=3,c=1,m=0;
a=++a+ ++b+ ++c;
cout<<a<<endl;
}
为什么一个如此简单的程序,在Visual C++ 6.0中编译的结果是8
而在TC中编译的结果是7,而7就是我们想的答案,两个编译器有什么区别吗?
问题点数:20、回复次数:7Top
1 楼goodboy1881(积木)(谁都别拦着我在水源升星)回复于 2005-05-17 21:26:30 得分 0
有区别,编译器对这种东西的解释都不一样,还是不要写这种代码为好,
这都是老生常谈的东西了。Top
2 楼flying_dancing(小混混-_-)回复于 2005-05-17 21:37:14 得分 0
你真的要研究它的话...以前的帖一堆......
SB 才写这样的东西Top
3 楼hu_vane(边学边发现自己的无知)回复于 2005-05-17 21:37:20 得分 0
编译器解释不同,写这种代码有意义吗?Top
4 楼Zhoulei1982(周雷)回复于 2005-05-17 21:38:29 得分 0
不会是8Top
5 楼yesiloveyou(下意识的弯了一下腰,TMD,踩狗屎了)回复于 2005-05-17 22:01:51 得分 0
哈哈 编译器不同///
这种代码实在是没意义//Top
6 楼dongyi940333(科斯塔)回复于 2005-05-17 22:01:57 得分 0
不同的编译器解释不同,以后不要写这种代码,要注意代码的规范化。Top
7 楼thtfgao(忧郁王子)回复于 2005-05-17 22:08:05 得分 20
编译器的结合方式不同Top




