Truyền các đối số vào hàm. Thứ tự đánh giá tham số là trái sang phải hay phải sang trái?
Kiểm tra bằng chương trình đơn giản:
Ví dụ
#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);
}
int main() {
int a = 10;
test_function(a++, a++, a++);
return 0;
}
Kết quả
The value of x: 12 The value of y: 11 The value of z: 10
Từ output: z lấy trước (10), rồi y (11), cuối x (12). Thứ tự đánh giá là phải sang trái (right-to-left) trên kiến trúc này. Lưu ý: thứ tự này không được chuẩn C quy định, phụ thuộc compiler/architecture.