Computer >> Máy Tính >  >> Lập trình >> lập trình C

Thứ tự đánh giá của các tham số hàm trong C là gì?

Chúng tôi truyền các đối số khác nhau vào một số hàm. Bây giờ một câu hỏi có thể xuất hiện trong đầu chúng ta, rằng thứ tự đánh giá của các tham số hàm là gì. Nó từ trái sang phải hay từ phải sang trái?

Để kiểm tra thứ tự đánh giá, chúng tôi sẽ sử dụng một chương trình đơn giản. Ở đây một số tham số đang được truyền. Từ kết quả đầu ra, chúng tôi có thể tìm thấy chúng được đánh giá như thế nào.

Mã mẫu

#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++);
}

Đầu ra

The value of x: 12
The value of y: 11
The value of z: 10

Từ đầu ra này, chúng ta có thể dễ dàng hiểu được trình tự đánh giá. Lúc đầu, z được lấy, vì vậy nó đang giữ 10, sau đó y được lấy, do đó, nó là 11 và cuối cùng là x. Vì vậy, giá trị là 12.