안녕하세요 길벗수험서 운영팀입니다.
a *= b = 5; 부분을 말씀하신 것 같아 이를 설명드리겠습니다.
대입 연산자의 우선순위는 동등합니다.
다만 결합규칙상 오른쪽에서 왼쪽으로 계산을 수행해야한다는 의미죠.
즉, 대입연산자 =, +=, -=, *=, /=, %=, <<=, >>= 등이 어떤 식으로 되어 있던 우선순위는 동일하며, 계산 하는 순서(결합 규칙)은 우측에서 좌측으로 수행한다는 의미입니다.
이를 a *= b = 5; 에 대입하면, 우측의 식 b = 5를 계산한 후에, a *= b를 수행하는 것이 맞습니다.
결합규칙과, 우선순위의 차이를 명확히 알아두세요.
60쪽의 우선순위 표를 보시면 줄이 나눠진 경우는 우선 순위의 차이가 있는 것이며, 동일한 줄에 있는 경우 우선순위가 동일하고, 우선 순위가 동일한 연산자들이 중복되어 나열되어 있는 경우 결합규칙의 방향에 따라 계산이 이루어집니다.
행복한 하루되세요 :)
-
관리자2019-05-23 11:06:03
안녕하세요 길벗수험서 운영팀입니다.
a *= b = 5; 부분을 말씀하신 것 같아 이를 설명드리겠습니다.
대입 연산자의 우선순위는 동등합니다.
다만 결합규칙상 오른쪽에서 왼쪽으로 계산을 수행해야한다는 의미죠.
즉, 대입연산자 =, +=, -=, *=, /=, %=, <<=, >>= 등이 어떤 식으로 되어 있던 우선순위는 동일하며, 계산 하는 순서(결합 규칙)은 우측에서 좌측으로 수행한다는 의미입니다.
이를 a *= b = 5; 에 대입하면, 우측의 식 b = 5를 계산한 후에, a *= b를 수행하는 것이 맞습니다.
결합규칙과, 우선순위의 차이를 명확히 알아두세요.
60쪽의 우선순위 표를 보시면 줄이 나눠진 경우는 우선 순위의 차이가 있는 것이며, 동일한 줄에 있는 경우 우선순위가 동일하고, 우선 순위가 동일한 연산자들이 중복되어 나열되어 있는 경우 결합규칙의 방향에 따라 계산이 이루어집니다.
행복한 하루되세요 :)