프로그래밍언어/C언어[Error]
[C언어][Error] 002. expected declaration or statement at end of input – 함수 끝에 문장 누락
about_IT
2025. 4. 22. 23:12
이 오류는 주로 함수나 코드 블록의 끝에 필요한 문장이나 닫는 중괄호(})가 누락되었을 때 발생합니다. C언어는 블록 구조 기반이기 때문에, 중괄호로 감싼 범위가 명확히 닫히지 않으면 컴파일러는 코드의 끝을 인식하지 못하게 됩니다.
이 문제는 조건문, 반복문, 함수 정의 등에서 실수로 중괄호를 닫지 않거나, return 문 등을 누락했을 때 자주 발생합니다.
아래 예제를 살펴보세요.
#include <stdio.h>
int main() {
int a = 5;
if (a > 0) {
printf("양수입니다.");
위 코드에서는 if 블록이 열려 있지만 닫히지 않았습니다. 이로 인해 컴파일러는 함수의 끝을 찾지 못하고 다음과 같은 오류를 발생시킵니다.
error: expected declaration or statement at end of input
해결 방법은 명확합니다. 중괄호를 닫고 함수가 정상적으로 종료되도록 코드를 수정해야 합니다.
#include <stdio.h>
int main() {
int a = 5;
if (a > 0) {
printf("양수입니다.");
}
return 0;
}
정상적으로 컴파일되며, 출력 결과는 다음과 같습니다.
양수입니다.
● 실전 팁
- 여는 중괄호 { 를 작성한 후에는 바로 닫는 중괄호 }도 함께 작성하는 습관을 들이세요.
- 코드 블록이 깊어질수록 들여쓰기를 활용해 구조를 명확히 하세요.
- 중괄호 쌍을 자동으로 맞춰주는 코드 편집기의 기능을 활용하는 것도 좋은 방법입니다.
이 오류는 단순히 중괄호 하나로 발생할 수 있는 만큼, 자주 눈으로 확인하고 실수하지 않도록 하는 습관이 중요합니다.