책 내용 질문하기
2권
도서
2022 시나공 정보처리기사 필기
페이지
111
조회수
289
작성일
2022-02-15
작성자
탈퇴*원
첨부파일

11번 문제

전 정답이 hap=10+7+4로 나와서 질문합니다.

첫번째 루프돌때 i--;을 실행하지만 후위연산이기때문에 조건문 (i % 3 == 1)까지 실행한 뒤 i=9가 되는게 아닌가요?

자바는 이렇게 계산한게 맞던거로 기억하는데 c는 다른건지 아니면 제가 잘못 이해하고있는지 궁금합니다.

답변
2022-02-16 10:29:40

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

 

자바와 C 모두 단항연산자(⊃전치/후치 증감 연산자)에 대한 처리 방식은 동일합니다.

 

전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, 위와 같이 개별로 사용될 때는 그저 1을 감소시키는 역할 외에 다른 역할을 수행하지 못합니다. 

 

즉 코드의 i--;는 i=i-1; 로 식을 교체해도 수행 과정에 변화가 없다는 것을 의미하죠.

 

행복한 하루되세요 :)

  • 관리자
    2022-02-16 10:29:40

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

     

    자바와 C 모두 단항연산자(⊃전치/후치 증감 연산자)에 대한 처리 방식은 동일합니다.

     

    전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, 위와 같이 개별로 사용될 때는 그저 1을 감소시키는 역할 외에 다른 역할을 수행하지 못합니다. 

     

    즉 코드의 i--;는 i=i-1; 로 식을 교체해도 수행 과정에 변화가 없다는 것을 의미하죠.

     

    행복한 하루되세요 :)

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