回复 2楼 rjsp
我用的是王曙燕版本printf函数中参数的计算顺序应该是先 n--,再 ++n, 最后 n
那么用 VC++ 6.0 运行结果是 2 2 1, 先执行 n--, 结果是 1,然后 ++n, 结果为2, 最后 n, 结果也为2, 理由如下图,我运行了一下图里的结果3 3 2 2 是对的,
就像图里说的注意这里是关键所在,VC++6.0后自增运算是要在整条语句结束以后才自加1的!
但是用 DEV C++ 去执行就不是了,它也是先 n--,再 ++n, 最后 n,但它好像是在n--执行完后(也就是整条printf函数还没执行完)就使得n本身自减为0了
然后++n为1, 最后n为1, 结果为 1 1 1
我都晕乎了,但是当时老师给我们每次上课时用的都是VC++ 6.0, 唉