for 반복문 연습하고 있는데, 이거 왜 안되나요?

반복문을 지금 강의 보면서 연습하고 있는데, for 반복문을 강의보면서 쓰고 있는데 갑자기 'a'가 선언되지 않은 식별자라고 뜨는데 어떻게 해야하나요? 제가 계속 지웠다가도 해보고, 다시 써보고 다 해봤는데 안되더라구요. 도와주세요ㅠㅠ

20개의 답변이 있어요!

  • 작성하신 코드를 보시면

    for(int a = 1; a <= 10; a++);

    마직막에 ;를 붙이셔서 for 문이 아무것도 안하고 루프만 돌다가 종료되게 코드를 작성하셨어요.

    for(int a = 1; a <= 10; a++) { printf("hello world %d\n", a); }

    로 작성을 하셔야 합니다.

  • 안녕하세요

    사진속의 코딩이 너무 작게 보이네요;

    지금 보면 for문 사용하신게

    for( int a=1; a<=10; a++);
    {

    블라블라

    }

    하셨는데요 여기서 보면 for문 사용이 잘못 됐네요

    for( int a=1; a<=10; a++);{ } 가아니라

    for(int a =1; a<=10; a++) { }가 되야합니다

    ) 와 { 사이 세미콜론 붙이다 보니 구문은 거기서 끝나면서 int a는 없어지는데

    printf a 를 하니 a가 선언되지 않은 식별자라고 뜹니다^^

    채택 부탁드려요

  • for(int a = 1; a<=10 ; a++) {

    printf("hello world %d\n", a);

    }

    위의 구문으로 고쳐주시면 될겁니다.

    프로그래밍에서 세미콜론은 한 문장의 끝맺음을 의미합니다. for문에서 ; 을 잘못쓰셔서 오류가 난 것입니다.

    프로그래밍 세계에 오신것을 환영합니다.

  • 안녕하세요. 질문하신 사항에서 다음의 문제가 확인됩니다.

    for(int a = 0; a <=10; a++); <-- 세미콜론을 괄호 밖에 적어 발생하는 문제입니다. 아래처럼 수정하세요.

    for(int a = 0; a <=10; a++) <-- 세미콜론을 삭제하세요. 마지막 a++ 뒤의 세미콜론은 생략 가능합니다.

    감사합니다.

  • 질문내용 :

    반복문을 지금 강의 보면서 연습하고 있는데, for 반복문을 강의보면서 쓰고 있는데 갑자기 'a'가 선언되지 않은 식별자라고 뜨는데 어떻게 해야하나요? 제가 계속 지웠다가도 해보고, 다시 써보고 다 해봤는데 안되더라구요. 도와주세요ㅠㅠ

    답변 내용 :

    for(int a = 1; a <= 10; a++);

    여기 뒤에 세미콜론 지워주세요

    세미콜론(;)은 프로그램의 끝을 의미하기 때문에 그 아래에 있는 범위까지 변수를 인식하지 못합니다.

  • 안녕하세요.

    prinft() 함수가 사용된 걸 보니 C언어네요.

    for문 뒤의 세미콜론(;) 잘못됐습니다

    for( int a = 1; a <= 10; a++ );

    =>

    for( int a = 1; a <= 10; a++ ) {

    //내용

    }

    이렇게 사용하셔야 합니다. 세미콜론을 빼주세요~!!

    에러가 나면 당황하지 마시고

    에러가 난 라인과 설명을 잘 읽어보시고 하나씩 찾아가시면 됩니다 ^^

  • 안녕하세요.

    FOR문이 안돌아가는 이유가 궁금하시군요.

    왜 'a'가 선언되지 않은 식별자라고 나오는지 궁금하시나요?

    제가 이렇게 말을 많이 쓰는 이유도 궁금하시겠죠?

    답변을 하기 위해선 128자를 채워야 등록이 가능하답니다.

    사실 이 문제는 한 문장으로 끝낼 수 있죠

    for(int a = 1; a <= 10; a++); <--------------------------FOR문 괄호 닫히고나서 세미콜론을 타이핑하셔서 생긴 오류입니다.

    세미콜론 지우세요

  • 안녕하세요 현직 개발자입니다
    출력 함수와 파일 형식을 보아하니 C언어이신것 같은데
    C언어는 변수 출력시

    printf("%d",변수);

    이런식으로 문자열 내에 변수가 들어갈 자리를 선언 한 후 ',' 옆에 변수를 지정해서 출력합니다.

    자세한 내용은 C언어 printf 변수 출력을 검색하면 자세한 내용을 확인 할 수 있을겁니다!

  • #include <stdio.h> int main() { for(int a=1; a<=10; a++) { printf("hello word %d\n", a); } return 0; }

    이렇게 실행하면 잘 되는 것 같습니다.

    아래 코드처럼 ;있기 때문에 오류가 나는것 같습니다.

    for(int a=1; a<=10; a++);

  • 결론부터 말씀드리면 for 반복문이 제대로 구성이 되지 않았습니다.

    for (int a = 1; a <= 10; a++); // 끝에 세미콜론이 있습니다. { printf("hello world %d\n", a); }

    아래와 같이 코드를 바꾸어보시면 컴파일이 잘 될 것입니다.

    for (int a = 1; a <= 10; a++) { printf("hello world %d\n", a); }

  • for(int a = 1; a<=10; a++)

    {}

    이런 식이어야 돼요 for 뒤에 소괄호뒤에 ;를 빼주세요. 문법상 맞지 않습니다.

    그거 때문에 오류나는거에요. 이게 원인인데 일단 문법 기본 이론을 좀 더 보셔야 할 것 같습니다... 해당 줄에서 오류가 나서 넘어가지 않아서 에러가 나는 것으로 보입니다

  • 반복문을 지금 강의 보면서 연습하고 있는데, for 반복문을 강의보면서 쓰고 있는데 갑자기 'a'가 선언되지 않은 식별자라고 뜨는데 어떻게 해야하나요? 제가 계속 지웠다가도 해보고, 다시 써보고 다 해봤는데 안되더라구요. 도와주세요ㅠㅠ

    ==> for ( ) <= 이부분 라인 제일 오른쪽 살펴보시면

    ( ; ) <== 세미콜론이 있네요, 이 세미콜론을 지워주세요 이것 때문에 오류 생긴것입니다

  • for문 끝에 세미콜롬(;)이 찍혀 컴파일시 문법에러가 발생한것으로 보입니다.

    // for문 끝의 세미콜롬(;)으로 문법 오류 for (int a = 1; a <= 10; a++); { printf("hello woeld %d\n", 1); } // for문 끝의 세미콜롬(;)을 제거 for (int a = 1; a <= 10; a++) { printf("hello woeld %d\n", 1); }

  • 안녕하세요...

    for (int a = 1; a <= 10; a++); <--- ; 제거 필요

    {

    printf("hello world %d\n", a);

    }

    return 0;

    이렇게 작성하셨던데 for문 끝에 세이콜론이 포함되어 오류가 나고 있습니다.

    for (int a = 1; a <= 10; a++) {

    printf("hello world %d\n", a);

    }

    return 0;

    로 해보시길 바랍니다.

  • 안녕하세요...

    hello world를 10번 나타나게 하는거 겠죠?

    우선 a변수를 전역에 선언하여 주시는것이 좋을것 같습니다.

    int main() {

    int a;

    for (a = 1; a < 11; ++a)

    {

    printf("hello world %d\n", a);

    }

    return 0;

    }

    이렇게 한번 해보세요...

  • C에서는 for 구문내에서 int를 선언하지않고 밖에서 선언해야합니다.

    for문 사용전에 int a=0 과같이 미리 변수선언하시고

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

    ...................

    ..........

    와같이 for loop 이용해보시기 바랍니다..

  • for(int a=1;a<=10;a++);

    이 문장 마지막에 붙은 ; 때문으로 보입니다.

    ; 세미콜론 떼시고 한 번 실행시켜보십쇼

    아래와 같이 작성하시면 될 것 같습니다.

    1. #include <stdio.h>

    2.  

    3. int main(void) {

    4. // your code goes here

    5. for(int a=1;a<=10;a++){

    6. printf("Hello World %d\n", a);

    7. }

    8. return 0;

    9. }

  • 안녕하세요. 아하(Aha) 지식공유잡니다.

    for(...); 줄에서 마지막 ; 세미콜론 기호를 지워주세요. 보통 프로그래밍 언어에서 세미콜론은 끝마침을 의미합니다. a변수는 for 문장 안에서 유효한 변수인데 괄호 바깥의 세미콜론은 컴퓨터가 for문이 끝났다고 인식하게 만들기 때문에 a변수를 인식할수 없는 것입니다. 도움이 되셨길 바랍니다.

  • 안녕하세요 아하 프로그래밍 지식 답변자 입니다.

    프로그램에서 세미콜론은 종결문으로 아주 중요한 역할을 합니다. 질문자님 처럼 반복문의 끝을 알려주는 역할도 하죠.

    아래와 같이 바꿔서 사용해보세요

    for (int a = 1; a <= 10; a++) { print("Hello World", a) }

  • for 문에서 증감 연산자 이후에 괄호를 닫고 그 다음 세미콜론을 쓴 것으로 인하여 제대로 작동이 되지 않는 것으로 보입니다.

    for(int a = 1; a <= 10; a++)

    {

    printf("hello world %d\n", a);

    }

    for문을 이렇게 쓰시면 제대로 작동할 것이라 생각됩니다.