책 내용 질문하기
연산결과 대한 설명
도서
2026 시나공 정보처리산업기사 필기 기본서
페이지
251
조회수
13
작성일
2026-02-19
작성자
박*호
첨부파일

251페이지 연산자 우선순위 2번 문제
d%b + ++a*c--||c- --a>=10에서 프로그램에서 했을떄 앞에 연산이 22로 나오던데 왜 그런걸까요?ㅜㅜ chatgpt로 물어봐도 22로 나오던데 왜그런 걸까요 ㅠㅠㅠ

답변
2026-02-19 17:55:25

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

d%b + ++a*c--||c- --a>=10

이 식에서 a의 초기값이 3입니다.

위의 식에서 ++a 전치 연산자와 --a 후치 연산자가 있기 때문에

a의 값을 1증가 시켰다가 1감소를 하여 a의 값은 3으로 계산을 한것입니다.


22로 나오는것은 원래 프로그램에서는 ||(or연산)을 기준으로

좌측, 우측으로 식을 나누어 계산을 합니다.

or연산은 둘중 하나라도 만족하면 참이 되기 때문에 오른쪽 식을 전혀 계산을 하지 않고

좌측만 가지고 계산을 한것입니다.

d % b는 2이고

++a*c-- 는 a의 값을 1증가시켜 a는 4이고 c는 5로 계산을 하여 20이 나온것으로

2 + 20을 계산하여 22가 나온것입니다.

행복한 하루되세요 :)


  • 관리자
    2026-02-19 17:55:25

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

    d%b + ++a*c--||c- --a>=10

    이 식에서 a의 초기값이 3입니다.

    위의 식에서 ++a 전치 연산자와 --a 후치 연산자가 있기 때문에

    a의 값을 1증가 시켰다가 1감소를 하여 a의 값은 3으로 계산을 한것입니다.


    22로 나오는것은 원래 프로그램에서는 ||(or연산)을 기준으로

    좌측, 우측으로 식을 나누어 계산을 합니다.

    or연산은 둘중 하나라도 만족하면 참이 되기 때문에 오른쪽 식을 전혀 계산을 하지 않고

    좌측만 가지고 계산을 한것입니다.

    d % b는 2이고

    ++a*c-- 는 a의 값을 1증가시켜 a는 4이고 c는 5로 계산을 하여 20이 나온것으로

    2 + 20을 계산하여 22가 나온것입니다.

    행복한 하루되세요 :)


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