发新话题
打印

想想看

main()
6 e8 k/ N& q! k1 d3 o; d2 g{/ t* a: }4 l( p5 ^
int x=5;1 Z5 A  K# J) C
int y=++x*--x;% C+ a3 r  }, _7 _( E) }6 Q& C3 L
x=5;5 l9 I0 s5 [6 G- i) f! |
printf("%d, %d", y, ++x*--x); + d, P) G& ^' P% {; D7 Q& j3 q
}
8 d! X9 _! c$ |, v; q想想看这两个输出是什么
+ ^0 o5 ]* w( W7 z% |/ N, p! N5 J3 y; K" u# V" s
一般的,gcc、WATCOM C++ 和 VC++ 编译器的答案是25, 25, 而 BC++是 25,30。2 O& [% o. h3 a+ z7 R: g& _( G0 A
编译器不同,答案不同,BC++ 先进行单目运算++然后进行*再进行--运算,而其他编译器则先进行 * 运算,哪个更正确 ?^_^      
-----------------------------------------
http://www.darkspy.org/blog

自大的人把宗教当迷信,无知的人把迷信当宗教

TOP

发新话题