求高人解答:同一段程序在vc++ 6.0与turbo c运行结果不同的问题

2025-04-07 15:21:59
推荐回答(1个)
回答1:

造成这种结果 是 C语言在 ++j 定义上 的不严密性 造成的。

q=(++j)+(++j)+(++j); 这同编译器编译时 的优化处理方式有关。

VC++ 编译 时, 若编译选项 选用 优化 /O1 或 优化 /O2 ,结果 为 24
/O1 minimize space 省空间优化
/O2 maximize speed 使运算速度最快优化
默认结果为不优化,得 22。