책 내용 질문하기
51p 2번 문제 해설 질문입니다.
도서
2026 시나공 프로그래밍기능사 필기 기본서
페이지
51
조회수
11
작성일
2026-07-12
작성자
이*훈
첨부파일
문제2의 연산에 대해
연산을 진행하는 순서가 (1) --a, (2) c--, (3) ++a라고 해설되어 있는데
or 및 and의 연산공식을 따른다면
좌항 먼저 계산 후, 좌항의 결과가 T/F인지에 따라 우항이 무시되지 않습니까?
해설의 의도가 앞선 연산자 우선순위의 '결합 규칙'을 지킨다는 것 같은데
그럼에도 왜 증감 연산자가 식 전체 기준 우측부터 계산되는지에 대한 명확한 이해가 어렵습니다.
결합규칙이란
우선순위가 같은 연산자가 연속되어 있을 때 (이항의 경우에는 1+1+1, 단항의 경우엔 !!0처럼)
어느 연산자부터 먼저 계산되는가에 관한 규칙으로 알고 있는데
문제의 ++a, c--, --a의 연산 순서에 관해서는
결합규칙에 의거해 우->좌가 아닌
식 계산 방향에 따른 (1)++a, (2) c--, (3) --a가 올바른 계산 순서라고 생각합니다.
JAVA의 문법에는 문외한이라, 혹 잘못 알고 있는게 아닌가 싶어 질문 남깁니다.