'for' loop initial declarations are only allowed in C99 or C11 mode

조회수 882회
//#include <stdio.h>
long fib(long num);

int main(void){
       int seriesSize;

    scanf ("%d", &seriesSize);
    if (seriesSize <2)
        seriesSize =2;
    printf("First %d Fibonacci numbers: \n", seriesSize);
    for (int looper = 0; looper < seriesSize; looper++)
        {
        if(looper % 5)
            printf(", %81d", fib(looper));
        else
            printf("\n%81d", fib(looper));
        }
    printf("\n");
    return 0;
}
long fib(long num)
{
    if (num==0 || num==1)
        return num;
    return (fib (num-1) + fib (num-2));
}

그리고 아무리 생각해도 if(looper % 5)의 의미를 모르겠네요 ㅠㅠㅠ 제발 도와주세요 확장자 cpp 로 했을 때는 작동이 되는데 이상하게 나옵니다 c로 하니깐 looper가
D:\시스템\Desktop\2.c [Error] 'for' loop initial declarations are only allowed in C99 or C11 mode 이렇게 오류가 나오는데 도저히 모르겠네요 ㅠㅠ

  • 질문에서 cpp일때 이상하게 나온다고 했는데, 그 이유는 위에 코드에 보시면 `%81d`로 되어 있어서, 출력 글자가 81칸 안에 출력되어서 옆으로 엄청 길게 출력됩니다. 보기좋기 바꾸시고 싶으시다면 `%81d`를 `%8d` 또는 마음에 드는 적당한 숫자로 바꾸시면 됩니다. 알 수 없는 사용자 2020.8.8 19:25
  • 와 감사합니다. 그걸 몰랐네요 감사합니다.!!! 알 수 없는 사용자 2020.8.9 22:55

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)