회신: 28.11 이해가 안됩니다
, 도장_ 관리자님이 작성Unit 7.1의 예제에 쓰인 주석을 살펴보세요.
unsigned int는 출력할 때 %u를 써야 합니다.
unsigned int를 출력할 때 %d를 쓰면 signed int로 해석해서 출력하니까 화면에 음수가 출력되는 것으로 보입니다. 실제로는 음수가 아닙니다.
unsigned int는 음수를 저장할 수 없습니다. unsigned int인데 음수가 출력되는 것은 printf에 %d를 썼기 때문입니다.
unsigned int를 썼다면 scanf에도 %d가 아니라 %u를 써야 합니다.
unsigned int는 0~UINT_MAX까지의 범위입니다. 따라서 i >= 0은 항상 참(true)입니다. 따라서 무한 반복이 됩니다.
i >= 1200은 i가 언젠가는 1200 미만일 때가 있으니 루프가 종료될 수 있습니다.
Unit 7부터 천천히 반복해보세요.