책 내용 질문하기
1권 158쪽 39번
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
158
조회수
278
작성일
2020-09-27
작성자
탈퇴*원
첨부파일
for (i=1; i<=5; ++i, hap+=i)에서요~ 맨첫루프에서 i=1→ ++i 때문에 바로 i=2가 되고 이후 hap+=i에서 i가 2로바뀌었으니 2를 더해야하는거 아닌가요??
답변
2020-09-28 13:38:31

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

 

for(i=1; i<=5; ++i, hap+=i)

   System.out.printf("합은%d %4d입니다.\n", i, hap);

 

위의 코드를 아래로 단순화 시켜 보죠.

  for(①; ②; ③) 

     ④;

  

해당 문제에서 내부의 출력문은 i가 1일 때부터, 5일 때까지 총 5회 수행됩니다.

1회 : ①, ②(조건 참), ④

2회 : ③, ②(조건 참), ④

3회 : ③, ②(조건 참), ④

4회 : ③, ②(조건 참), ④

5회 : ③, ②(조건 참), ④

종료 : ③, ②(조건 거짓) <탈출>

 

위의 순서대로라면 처음 출력 시 증가값이 적용되지 않고 출력되기 때문에 i는 1의 값이 sum은 0의 값이 출력됩니다.

그 다음 번에야 i가 2가 되고 sum이 2가 되서 출력되게 되죠.

 

행복한 하루되세요 :)

  • 관리자
    2020-09-28 13:38:31

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

     

    for(i=1; i<=5; ++i, hap+=i)

       System.out.printf("합은%d %4d입니다.\n", i, hap);

     

    위의 코드를 아래로 단순화 시켜 보죠.

      for(①; ②; ③) 

         ④;

      

    해당 문제에서 내부의 출력문은 i가 1일 때부터, 5일 때까지 총 5회 수행됩니다.

    1회 : ①, ②(조건 참), ④

    2회 : ③, ②(조건 참), ④

    3회 : ③, ②(조건 참), ④

    4회 : ③, ②(조건 참), ④

    5회 : ③, ②(조건 참), ④

    종료 : ③, ②(조건 거짓) <탈출>

     

    위의 순서대로라면 처음 출력 시 증가값이 적용되지 않고 출력되기 때문에 i는 1의 값이 sum은 0의 값이 출력됩니다.

    그 다음 번에야 i가 2가 되고 sum이 2가 되서 출력되게 되죠.

     

    행복한 하루되세요 :)

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