책 내용 질문하기
2권 229쪽의 18번
도서
2023 시나공 정보처리기사 실기
페이지
229
조회수
304
작성일
2023-04-17
작성자
탈퇴*원
첨부파일

a *= b = 5;를

해설지에서는 a = a * (b = 5);과 같다고 되어있는데

 

2권 148페이지 연산자 우선순위를 보면, 대입연산자(=)가 산술연산자(*)보다 우선순위가 늦다고 되어있습니다.

 

그렇다면 a = a * b 먼저 계산하여 a = 0,

a * b = 5로 초기화 되어야하지 않나요..?

 

왜 a = a * (b = 5);가 되는지 알려주시면 감사드리겠습니다.

답변
2023-04-19 10:01:29

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

 

a=a*(b=5); 는 모든 연산을 풀어버린 것입니다.

 

차례로 풀어보면

a *= b = 5;  는 2개의 대입 연산이 들어가 있으므로 오른쪽부터 처리합니다.

a *= (b = 5);   *= 대입 연산은 다음과 같이 풀 수 있습니다.

a = a * (b = 5);

 

행복한 하루되세요 :)

  • 관리자
    2023-04-19 10:01:29

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

     

    a=a*(b=5); 는 모든 연산을 풀어버린 것입니다.

     

    차례로 풀어보면

    a *= b = 5;  는 2개의 대입 연산이 들어가 있으므로 오른쪽부터 처리합니다.

    a *= (b = 5);   *= 대입 연산은 다음과 같이 풀 수 있습니다.

    a = a * (b = 5);

     

    행복한 하루되세요 :)

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