造成这种结果 是 C语言在 ++j 定义上 的不严密性 造成的。q=(++j)+(++j)+(++j); 这同编译器编译时 的优化处理方式有关。VC++ 编译 时, 若编译选项 选用 优化 /O1 或 优化 /O2 ,结果 为 24/O1 minimize space 省空间优化 /O2 maximize speed 使运算速度最快优化默认结果为不优化,得 22。