책 내용 질문하기
정보처리기사 61쪽 문제1번 질문합니다.
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
61
조회수
35
작성일
2018-12-09
작성자
탈퇴*원
첨부파일
문제 1번에서 결과c는 299아닌가요? C는 전치연산자인데??? 299이 아닌가요? 답이 잘못된건가요 제가 이해을 잘 못한건가요?
답변
2018-12-10 11:01:40

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

 

1번 문제를 해결하기 위해서는 조건 연산자(또는 3항 연산자)를 숙지하셔야 합니다.

(교재 59페이지에 설명되어 있습니다.) 

 

3항 연산자 "result = a<b ? b++ : --c;"를 if로 풀게 되면,

 

if (a<b) b++;

else --c;

가 되므로, --c 연산은 수행이 되지 않음을 확인할 수 있습니다.

 

행복한 하루 되세요 :)

 

  • 관리자
    2018-12-10 11:01:40

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

     

    1번 문제를 해결하기 위해서는 조건 연산자(또는 3항 연산자)를 숙지하셔야 합니다.

    (교재 59페이지에 설명되어 있습니다.) 

     

    3항 연산자 "result = a<b ? b++ : --c;"를 if로 풀게 되면,

     

    if (a<b) b++;

    else --c;

    가 되므로, --c 연산은 수행이 되지 않음을 확인할 수 있습니다.

     

    행복한 하루 되세요 :)

     

  • 관리자
    2018-12-18 11:30:01

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

     

    해당 문제의 경우 a<b보다 크면 b++을 수행합니다.

    다만 b++은 후치연산자이기 때문에, 본래 b의 값을 먼저 result에 저장한 후 b의 값이 증가되게 되어 있습니다.

     

    회원님의 말씀대로 적용되려면 전치연산자인 ++b가 대신 들어가 있어야 말씀하신 결과가 출력됩니다.

     

    행복한 하루 되세요 :)

  • *
    2018-12-18 10:18:20

    그러면 result랑 b의 답이 헷갈리는게

    result 답이 201아닙니까?

    result = a<b? b++ : --c 인데 

    B의 값은 200이야 되는거 아니에요??ㅠㅠ

    a<b가 100<200인데 참이면 결과가 201로 나와야되는거 아닌가요?

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