책 내용 질문하기
114p 34번 문제 물어볼게요
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
114
조회수
107
작성일
2017-04-01
작성자
탈퇴*원
첨부파일
for문 증가값부분에서 이해가 잘 안가네요. 56p 상단에 나오는 설명대로 변수의 값을 증감 시킨 후 변수를 연산에 사용한다 라고 나와있는데요. 답이나 풀이를 봤을땐 후치연산을 한것처럼 풀이가 되어있네요. 반복문에 진입시에는 최종적으로 i의 값이 5일때 진입을 하고 전치연산으로 인해 i=6인 상태로 반복문연산에 들어가서 합은6 20입니다 로 마지막 출력이 되어야 하는것 아닌가요? 유사문제로 112p의 29번 문제의 풀이를 봤을때 a의 값이 4여야 반복문에 진입이 가능하고 전치연산으로 인해 a의 값이 5가 되어 출력시에 a의 값이 5가 된 연산을 끝마쳐서 답이 5, -5 가 나오는것이잖아요? 고로 34번문제는 답이 합은2 2입니다. ~ 합은6 20입니다. 여야 하는것 아닙니까?
답변
2017-04-02 12:30:27

후치연산이지만 for문()안에있기때문에

i가 1일때부터 출력됩니다.

for문은 먼저 돌고나서 증감식에 들어가기 때문이죠,

그리고6까지 증가되었다가 조건에 맞지않기 때문에 출력까지 내려가지 못하고 for문을 빠져나오게 되죠.

hap+=i 가 for문()밖에 있었다면 i는 6까진 출력되지만 hap에는 참여하지 못하니 15에서 끝났을거예요.

for()문에 {}가 있고 없고에 결과에 차이가 나네요~

출력첨부햇어요 ㅎ

  • *
    2017-04-02 12:30:27

    후치연산이지만 for문()안에있기때문에

    i가 1일때부터 출력됩니다.

    for문은 먼저 돌고나서 증감식에 들어가기 때문이죠,

    그리고6까지 증가되었다가 조건에 맞지않기 때문에 출력까지 내려가지 못하고 for문을 빠져나오게 되죠.

    hap+=i 가 for문()밖에 있었다면 i는 6까진 출력되지만 hap에는 참여하지 못하니 15에서 끝났을거예요.

    for()문에 {}가 있고 없고에 결과에 차이가 나네요~

    출력첨부햇어요 ㅎ

  • *
    2017-04-03 11:09:23

    안녕하세요.

    for문의 증가값에 사용되는 증감연산자는 전위는 후위든 관계없이 1씩만 증가합니다.

    즉 ++i든 i++이든 동이랗게 1씩 증가하는 용도로만 사용됩니다.

    오늘도 즐거운 하루 되세요.

  • *
    2017-04-02 19:09:09

    전치연산으로 되어있는걸 제가 핸드폰으로 글을 쓰다보니 제대로 못썼는데..

    저도 이클립스로 돌려보니 출력은 답과 똑같이 나오네요..

    증감식은 전치이지만 반복문내에 있기 때문에 i=1 인상태로 한번 프린트문을 돌리고 나서

    증감식이 적용이 된다는 말씀이신가요..?

    그럼 두번째반복이 시작되기 전에 i의 값이 2로 변하게 되는건가요?

    그렇게 되면 연산 이후 증감식이 이루어지는건데 후치랑 차이점을 잘 모르겠네요...

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