prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 3.7

Q为什么

printf("%d %d", f1(), f2());
先调用了f2?我以为逗号运算符保证了从左到右的求值。


A逗号运算符确实保证了从左到右的求值顺序,但在函数调用中分隔参数的逗号不是逗号运算符。 [脚注] 函数调用参数的求值顺序是 未指定的。(参见问题 11.33。)

参考文献:K&R1 第 3.5 节 第 59 页
K&R2 第 3.5 节 第 63 页
ISO 第 6.3.2.2 节
H&S 第 7.10 节 第 224 页


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管