책 내용 질문하기
단항연산자 질문있슴돠!
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
119
조회수
241
작성일
2019-08-29
작성자
탈퇴*원
첨부파일
문제 풀던중에 119페이지 17번 문제에
d 정답이 10 이던데.. 왜일까요..ㅜㅜ멘붕왔어요
단항연산자가 나오면 우선순위가 붙기 때문에
먼저 그 수식을 처리하는건가요??
사칙연산에선 곱하기가 대빵인데 단항연산이 붙으면
그걸 먼저 처리해야하는지요? 맞다면 전치후치 둘다 해당되나여?
답변
2019-08-30 09:35:25
안녕하세요 길벗수험서 운영팀입니다.
단항연산자는 먼저 처리되는 것이 맞습니다.
하지만 실질적으로 처리되는 것은 전치냐 후치냐에 따라 달라집니다.
a += 6 + --b;
의 경우 단항연산자인 --가 전치로 붙었기 때문에 전체 식이 수행되기 이전에 연산되어 아래와 같은 식과 동일해집니다.
b = b - 1;
a += 6 + b;
d *= 7 - c++;
의 경우는 단항연산자인 ++가 후치로 붙었기 때문에 전체 식이 모두 수행된 후 연산되어 아래와 같은 식이 됩니다.
d *= 7 - c;
c = c + 1;
전치연산 후치연산의 개념을 확실히 학습해두세요.
행복한 하루되세요 :)
-
관리자2019-08-30 09:35:25
안녕하세요 길벗수험서 운영팀입니다.
단항연산자는 먼저 처리되는 것이 맞습니다.
하지만 실질적으로 처리되는 것은 전치냐 후치냐에 따라 달라집니다.
a += 6 + --b;
의 경우 단항연산자인 --가 전치로 붙었기 때문에 전체 식이 수행되기 이전에 연산되어 아래와 같은 식과 동일해집니다.
b = b - 1;
a += 6 + b;
d *= 7 - c++;
의 경우는 단항연산자인 ++가 후치로 붙었기 때문에 전체 식이 모두 수행된 후 연산되어 아래와 같은 식이 됩니다.
d *= 7 - c;
c = c + 1;
전치연산 후치연산의 개념을 확실히 학습해두세요.
행복한 하루되세요 :)