[c] 연산자 우선순위에 대한 흔한 오류

예를 들어, C 언어에서 논리연산자 && (and)가 비트연산자 & (and) 보다 우선순위가 높기 때문에, 다음과 같은 예기치 않은 결과가 나타날 수 있습니다:

if (a & b == 0)

위의 코드는 실제로는 다음과 같이 해석됩니다:

if (a & (b == 0))

하지만 원하는 것은 다음과 같습니다:

if ((a & b) == 0)

따라서 이러한 오류를 피하기 위해서는 괄호를 사용하여 명시적으로 연산자의 우선순위를 나타내는 것이 좋습니다.

연산자 우선순위에 대한 오해를 피하기 위해 코드를 작성할 때, 명확하고 명시적으로 괄호를 사용하는 습관을 들이는 것이 중요합니다.