안녕하세요 길벗수험서 운영팀입니다.
for문의 반복 범위를 확인해보시기 바랍니다.
for문에 중괄호{}가 있다면 해당 범위만을 반복하면 되지만, 중괄호{}가 없다면 세미콜론;이 있는 코드까지만을 반복 수행합니다.
일반적으로 for문 반복은 for문과 그 아래 문장까지만을 수행하지만, 이것은 for문 다음에 있는 세미콜론;이 다음문장에 있기 때문입니다.
예를 들어
for(int i=0 ;i<10; i++)
printf("%d회 반복중");
위 for문을 실행하면 0~9회 반복중이라는 문장이 10개 찍히게 되겠죠.
세미콜론이 for의 다음 문장인 printf문 뒤에 있기 때문입니다. 반면
for(int i=0 ;i<10; i++);
printf("%d회 반복함");
위 for문을 실행하면 세미콜론이 for문의 다음문장이 아닌 for문 바로 뒤에 있기 때문에 다음 문장을 반복하는 것이 아닌 for문만 혼자 10회 반복된 후 마지막에 printf문을 출력하게 됩니다.
(결과 : 10회 반복함)
행복한 하루되세요 :)
-
관리자2019-03-19 13:30:44
안녕하세요 길벗수험서 운영팀입니다.
for문의 반복 범위를 확인해보시기 바랍니다.
for문에 중괄호{}가 있다면 해당 범위만을 반복하면 되지만, 중괄호{}가 없다면 세미콜론;이 있는 코드까지만을 반복 수행합니다.
일반적으로 for문 반복은 for문과 그 아래 문장까지만을 수행하지만, 이것은 for문 다음에 있는 세미콜론;이 다음문장에 있기 때문입니다.
예를 들어
for(int i=0 ;i<10; i++)
printf("%d회 반복중");
위 for문을 실행하면 0~9회 반복중이라는 문장이 10개 찍히게 되겠죠.
세미콜론이 for의 다음 문장인 printf문 뒤에 있기 때문입니다. 반면
for(int i=0 ;i<10; i++);
printf("%d회 반복함");
위 for문을 실행하면 세미콜론이 for문의 다음문장이 아닌 for문 바로 뒤에 있기 때문에 다음 문장을 반복하는 것이 아닌 for문만 혼자 10회 반복된 후 마지막에 printf문을 출력하게 됩니다.
(결과 : 10회 반복함)
행복한 하루되세요 :)