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。

更新于: 2019-07-30

483 次浏览

开启你的 职业

通过完成课程获取认证

开始
广告