2015-01-06 1 views
-1

나는이 질문을 게시하기 전에 인터넷을 검사했다. 그리고 내가 발견 한 대답은 괄호가 빠졌을 수도 있다는 것이다.입력이 끝날 때 예상되는 선언 또는 명령문. 나는 정확한 양의 괄호를 세웠다.

int main (void) { 

int input = 0; 

while(input != 3) { 

    printf("Please select an implementation :" 
      "\n1. Linked list implementation" 
      "\n2. Ring buffer implementation" 
      "\n3. Exit"); 

    fflush(stdout); 
    scanf("%d",&input); 

    switch(input) { 

    case 1: printf("Linked List"); 
    break; 

    case 2: printf("Ring Buffer"); 
    break; 

    case 3: printf("Goodbye!"); 
    break; 
    } 
} 


return 0; 
} 

케이스 내부의 모든 코드를 모두 제거하여 모두 짧게 만들었지 만 여전히 오류가 발생합니다. 더 구체적으로 :

expected declaration or statement at end of input 

나는 건물 청소 시도하고 새로 고침 :

int main(void) {의 라인에서 내가 마지막 }의 줄에 오류

'main' is normally a non-static function [-Wmain] 

를 얻을 나는 오류 프로젝트를 다시 시작하고 컴퓨터를 다시 시작했지만 아무 것도 변경되지 않았습니다.

고맙습니다.

답변

2

.c 파일이 완벽하다는 전제하에,이 오류는 머리글 (.h) 파일 중 하나에 있어야합니다.

+1

@iharob, 그건 해결되지 않습니다. 그는 자신의 .h 파일 중 하나에 오류가 있습니다. – Jasen

+0

# 헤더 파일을 통해 #hdio.h haha ​​ill 모양을 포함 시켰습니다. – user3160152

+1

@ user3160152 :'# include' 지시어를 포함하여 실제 코드를 보여주기 위해 질문을 업데이트하십시오. –

1

오류가 발생하는 이유는 컴파일러가 .c 파일에만 존재할 것으로 예상하는 반면 다른 일부 파일에서는 main을 선언 한 것입니다. switch 문에서 default case를 사용하는 것도 고려해 볼 수 있습니다.

관련 문제