|
发表于 2009-8-5 11:26:42
|
显示全部楼层
Post by 子虚乌有;2012811
记得好像哪里讲过,
任何一个C的标准没有规定函数参数的求值的顺序
完全取决于编译器的实现
因此根本原因在于上述代码的不可移植性
另外建议楼主小心手上那本书。
因为看来作者是个半路出家的专家,底子不牢靠,概念不清。
TC或者mingw gcc 3.4.5是按照参数从右往左的顺序计算值的,这点确凿。
但是gcc 4.3.x很显然不是简单的按照参数从左往右的顺序计算,如果是,那么结果应该是9 8。
但是8 8的话,如楼上所说,计算值的顺序则是并行的,没有顺序的。毕竟,没有顺序也是一种顺序。 |
|