책 내용 질문하기
113쪽 문제2
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
113
조회수
469
작성일
2019-09-09
작성자
탈퇴*원
첨부파일

a=a/b++-c*d 

a/9-6

12/3 

4

아닌가요?! 

후치연산법으로 그러면 계산 다 해서 6이 나오고 +1을 해야하는 거 아니예요?!?

 

왜 아무것도 증가 하지 않고 그대로 답이 6이되나요?

답변
2019-09-10 13:07:30

안녕하세요 길벗수험서 운영팀입니다.

 

int a = 12, b = 8, c = 2, d = 3;

a /= b++ - c * d;

 

위의 식에서 a /= b++ - c * d; 를 풀어보면 아래와 같이 됩니다.

 

a = a / (b - c * d); 

b = b + 1;

 

b는 후치수식이므로 식이 종료된 뒤 연산되므로, 뒤의 식으로 빠집니다. 후치수식은 변수 b에 붙어있는 연산자이므로 a에 더해지는 것이 아닌 b에 더해집니다.

(전치수식이라면 앞에서 먼저 계산을 해야겠죠.)

 

이제 값을 넣어보죠.

 

= 12 / (8 - 2 * 3)

= 12 / (8 - 6)

= 12 / 2

= 6

 

이렇게 a는 6의 값을 가지게 되고, b는 후치수식을 통해 9의 값을, 나머지는 초기값을 그대로 갖게 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-09-10 13:07:30

    안녕하세요 길벗수험서 운영팀입니다.

     

    int a = 12, b = 8, c = 2, d = 3;

    a /= b++ - c * d;

     

    위의 식에서 a /= b++ - c * d; 를 풀어보면 아래와 같이 됩니다.

     

    a = a / (b - c * d); 

    b = b + 1;

     

    b는 후치수식이므로 식이 종료된 뒤 연산되므로, 뒤의 식으로 빠집니다. 후치수식은 변수 b에 붙어있는 연산자이므로 a에 더해지는 것이 아닌 b에 더해집니다.

    (전치수식이라면 앞에서 먼저 계산을 해야겠죠.)

     

    이제 값을 넣어보죠.

     

    = 12 / (8 - 2 * 3)

    = 12 / (8 - 6)

    = 12 / 2

    = 6

     

    이렇게 a는 6의 값을 가지게 되고, b는 후치수식을 통해 9의 값을, 나머지는 초기값을 그대로 갖게 됩니다.

     

    행복한 하루되세요 :)

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