C 语言中函数参数的求值顺序是什么?
我们向一些函数传递不同的自变量。现在我们可能会产生一个疑问,即函数参数的求值顺序是什么。是自左向右,还是自右向左?
为了检查求值顺序,我们将使用一个简单的程序。这里要传递一些参数。通过输出我们可以查明它们的求值方式。
示例代码
#include<stdio.h> void test_function(int x, int y, int z) { printf("The value of x: %d
", x); printf("The value of y: %d
", y); printf("The value of z: %d
", z); } main() { int a = 10; test_function(a++, a++, a++); }
输出
The value of x: 12 The value of y: 11 The value of z: 10
从该输出中我们可以轻易理解求值顺序。首先取 z,因此它持有 10,然后取 y,因此它为 11,最后取 x。因此,其值为 12。
广告