책 내용 질문하기
단항연산자 질문있슴돠!
도서
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;

     

    전치연산 후치연산의 개념을 확실히 학습해두세요.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.