책 내용 질문하기
질문드립니다~~
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
100
조회수
119
작성일
2018-09-11
작성자
탈퇴*원
첨부파일
예제 2번에서 향상된 for문을 사용하는데 여기서 int i 사용하는데 main문 에서 int i; 변수 선언해주고 for문에서 사용해야 되는 것 아닌가요??
답변
2018-09-11 15:44:19

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

아닙니다.

향상된 for문이 아닌 일반 for문에서도 마찬가지입니다.

for문에서 기준이 되는 변수를 사용할 때, 앞에서 선언된 변수를 사용한다면 자료형(ex: int)을 생략하고 사용합니다.

예1) 변수를 먼저 선언한 경우

int i;

for (i = 0; i <10; i++)

printf("%d, ", i);

예2) 변수를 먼저 선언하지 않은 경우

for (int i = 0; i <10; i++)

printf("%d, ", i);

‘예2)’의 경우 for문에서 사용한 i는 for문을 벗어나면 사용할 수 없게 됩니다. 즉, 아래와 같이 출력하면 존재하지 않는 변수를 사용하였다면서 에러가 발생합니다.

for (int i = 0; i <10; i++)

printf("%d, ", i);

printf("%d", i);

<- ERROR

행복한 하루되세요.^^

  • *
    2018-09-11 15:44:19

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

    아닙니다.

    향상된 for문이 아닌 일반 for문에서도 마찬가지입니다.

    for문에서 기준이 되는 변수를 사용할 때, 앞에서 선언된 변수를 사용한다면 자료형(ex: int)을 생략하고 사용합니다.

    예1) 변수를 먼저 선언한 경우

    int i;

    for (i = 0; i <10; i++)

    printf("%d, ", i);

    예2) 변수를 먼저 선언하지 않은 경우

    for (int i = 0; i <10; i++)

    printf("%d, ", i);

    ‘예2)’의 경우 for문에서 사용한 i는 for문을 벗어나면 사용할 수 없게 됩니다. 즉, 아래와 같이 출력하면 존재하지 않는 변수를 사용하였다면서 에러가 발생합니다.

    for (int i = 0; i <10; i++)

    printf("%d, ", i);

    printf("%d", i);

    <- ERROR

    행복한 하루되세요.^^

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