책 내용 질문하기
정보처리기사 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로 나와야되는거 아닌가요?