책 내용 질문하기
1권 61쪽 1번 문제 질문
도서
2021 시나공 정보처리산업기사 실기
페이지
61
조회수
242
작성일
2021-04-09
작성자
탈퇴*원
첨부파일
문제에서 c값이 --c가 선행되어 299가 되었는데 정답에서는 c값이 300으로 출력된다고 적혀있습니다. 오류인가요? 아니면 조건연산자에서 연산된것은 변수의 값에 영향을 미치지 못하는 것인가요?
답변
2021-04-09 14:23:05

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

 

연산자가 수행되기 위해서는 해당 위치에 제어가 도달해야 합니다.

 

if (조건)

   식1;

else

   식2;

 

여기에서 어떤 다양한 연산자가 '식2'에 존재하더라도 조건이 항상 참이라면 의미가 없는 것과 마찬가지죠.

삼항(조건) 연산자도 마찬가지 입니다.

 

result = a<b?b++:--c; 의 경우  a<b가 참이므로 --c가 수행되는 일이 없습니다.

식을 바꿔 표현한다면 이렇게 되죠.

result = b++;

 

때문에 c는 초기값인 300을 그대로 갖고 있게 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2021-04-09 14:23:05

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

     

    연산자가 수행되기 위해서는 해당 위치에 제어가 도달해야 합니다.

     

    if (조건)

       식1;

    else

       식2;

     

    여기에서 어떤 다양한 연산자가 '식2'에 존재하더라도 조건이 항상 참이라면 의미가 없는 것과 마찬가지죠.

    삼항(조건) 연산자도 마찬가지 입니다.

     

    result = a<b?b++:--c; 의 경우  a<b가 참이므로 --c가 수행되는 일이 없습니다.

    식을 바꿔 표현한다면 이렇게 되죠.

    result = b++;

     

    때문에 c는 초기값인 300을 그대로 갖고 있게 됩니다.

     

    행복한 하루되세요 :)

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