안녕하세요 주말에도 답변 달아주시느라 고생이 많으십니다
다름이 아니라 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) 제가 코드의 어느 부분에 관한 이해가 부족해서 이러한 생각을 가지게 된 것 인가요?
안녕하세요 길벗수험서 운영팀입니다.
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입니다.
이 점을 염두에 두시고 해당 코드를 다시 한 번 살펴보세요.
행복한 하루되세요 :)