我们将不同的参数传递给一些函数。现在我们可能会有一个问题,即函数参数的评估顺序是什么。是从左到右还是从右到左?
为了检查评估顺序,我们将使用一个简单的程序。这里传递了一些参数。从输出中我们可以看到它们是如何被评估的。
示例代码
#include<stdio.h>
void test_function(int x, int y, int z) {
printf("The value of x: %d<p>", x);
printf("The value of y: %d</p><p>", y);
printf("The value of z: %d</p><p>", z);
}
main() {
int a = 10;
test_function(a++, a++, a++);
}</p>
输出
The value of x: 12
The value of y: 11
The value of z: 10
从这个输出中我们可以很容易地理解评估序列。首先取 z,所以它是 10,然后取 y,所以它是 11,最后取 x。所以值为 12。