Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

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입니다.