책 내용 질문하기
정보처리산업기사 실기 295 쪽 질문입니다
도서
2020 시나공 정보처리산업기사 실기 [기본서]
페이지
295
조회수
200
작성일
2020-07-26
작성자
탈퇴*원
첨부파일

안녕하세요 주말에도 답변 달아주시느라 고생이 많으십니다

다름이 아니라 a[k+1] = a[k] 이 부분이 이해가 가지 않아서 글을 썼습니다

처음에 a[k]가 키 값 보다 클 때  a[k] 값을 대입을 하면 k값과 k+1이 같아지게 되고 (2 8 6 > 2 8 8) 키 값을 k+1에 대입하면 다시 원래 대로 돌아오는데

(2 8 8 > 2 8 6) 제가 코드의 어느 부분에 관한 이해가 부족해서 이러한 생각을 가지게 된 것 인가요? 

 

답변
2020-07-27 17:42:03

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

 

for문에 대해 간과하고 넘어가신 부분이 있습니다.

 

for( i=5; i>=0; i--) {

}

printf("%d", i);

 

위에서 어떤 값이 출력될까요?

0이 아닌 -1이 출력됩니다.

 

for문은

초기값 -> (조건식 -> 실행문 -> 증가값) x 반복

을 수행하다가 마지막에 증가값을 수행하고 조건식(i>=0)을 거짓으로 만든 다음 빠져나오는 원리이기 때문에 i는 마지막에 -1이라는 값으로 i>=0을 거짓으로 만들고 나오게 되므로, printf에서 출력되는 것은 -1입니다.

 

이 점을 염두에 두시고 해당 코드를 다시 한 번 살펴보세요.

 

행복한 하루되세요 :)

  • 관리자
    2020-07-27 17:42:03

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

     

    for문에 대해 간과하고 넘어가신 부분이 있습니다.

     

    for( i=5; i>=0; i--) {

    }

    printf("%d", i);

     

    위에서 어떤 값이 출력될까요?

    0이 아닌 -1이 출력됩니다.

     

    for문은

    초기값 -> (조건식 -> 실행문 -> 증가값) x 반복

    을 수행하다가 마지막에 증가값을 수행하고 조건식(i>=0)을 거짓으로 만든 다음 빠져나오는 원리이기 때문에 i는 마지막에 -1이라는 값으로 i>=0을 거짓으로 만들고 나오게 되므로, printf에서 출력되는 것은 -1입니다.

     

    이 점을 염두에 두시고 해당 코드를 다시 한 번 살펴보세요.

     

    행복한 하루되세요 :)

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