[c] 연산자 우선순위에 대한 흔한 오류
연산자 우선순위에 대한 흔한 오류
프로그래밍을 하다 보면 연산자 우선순위에 대한 오류를 범하는 것이 흔합니다. 이는 코드를 해석하는 데 혼란을 줄 수 있으며 원하지 않는 결과를 초래할 수 있습니다.
문제점
#include <stdio.h>
int main() {
int a = 10;
int b = 5;
int c = 2;
int result = a * b + c;
printf("Result: %d", result);
return 0;
}
위 코드에서 result
의 값을 예측해 보겠습니다.
여러분은 곱셈(*
)과 덧셈(+
) 연산자가 있기 때문에 a * b + c
가 먼저 실행되어 결과가 52
가 될 것이라고 생각할 수 있습니다. 하지만, 이 코드는 a * (b + c)
와 동일하게 해석되므로 결과는 20
이 됩니다.
해결책
위와 같은 오류를 방지하려면 괄호를 사용하여 명시적으로 원하는 연산의 순서를 지정해야 합니다.
int result = a * (b + c);
이제 우리가 원하는 결과를 얻을 수 있습니다.
결론
연산자 우선순위에 대한 오해를 피하려면 항상 명시적으로 괄호를 사용하여 연산 순서를 명확하게 지정해야 합니다. 오류를 방지하고 코드를 더 읽기 쉽게 만들 수 있습니다.
참고문헌: