C中功能参数的评估顺序是什么?

我们将不同的参数传递给某些函数。现在我们可能会想到一个问题,那就是函数参数的评估顺序。是从左到右还是从右到左?

为了检查评估顺序,我们将使用一个简单的程序。这里传递了一些参数。从输出中,我们可以找到它们的评估方式。

范例程式码

#include<stdio.h>

void test_function(int x, int y, int z) {

   printf("The value of x: %d\n", x);

   printf("The value of y: %d\n", y);

   printf("The value of z: %d\n", 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。

以上是 C中功能参数的评估顺序是什么? 的全部内容, 来源链接: utcz.com/z/316434.html

回到顶部