C语言函数调用顺序问题

为什么函数的执行顺序是先f,h,g。为什么是这个顺序?

第1个回答  2013-03-17
第一条语句在不同的编译器下可能会有不同的结果的,因为这里存在一个顺序点的问题.

即:
在执行顺序中某些指定的点叫做顺序点。这个点上,之前所有的赋值所产生的副作用都已发生完成,并且在其后的赋值不能在该点产生任何副作用。

说白了就是:
最好不要试图在一行语句里多次改变一个变量的值,否则编译器可以随便定义改变的时机和次序

参考链接:
http://blog.chinaunix.net/uid-14735472-id-111097.html
请注意其中顺序点的定义和介绍,和你的问题相关的描述应该是"在函数所有参数赋值之后但在函数第一条语句执行之前"这句话
相似回答