728x90
이 오류는 C 코드에 유효하지 않은 문자가 포함되어 있을 때 발생합니다. 예를 들어, 복사-붙여넣기를 통해 소스 코드에 보이지 않는 특수문자, 비 ASCII 문자, 또는 문법적으로 허용되지 않는 문자가 삽입되면 컴파일러가 이를 인식하지 못하고 오류를 발생시킵니다.
보통 다음과 같은 상황에서 이 오류가 자주 발생합니다:
- 웹에서 복사한 코드에 유니코드 문자(‘ ’, “ ” 등)가 포함된 경우
- 인코딩이 맞지 않아 특수문자가 깨지는 경우
- 타 언어의 문자를 코드에 잘못 삽입한 경우
● 오류 예제
#include <stdio.h>
int main() {
printf(“Hello”); // 오류: 유효하지 않은 따옴표 문자 사용
return 0;
}
컴파일 시 다음과 같은 오류 메시지가 출력될 수 있습니다.
error: invalid character in input
● 해결 방법
코드에 삽입된 비정상적인 문자를 모두 삭제하고, ASCII 기반의 올바른 문자로 수정해야 합니다. 아래는 수정된 예시입니다.
#include <stdio.h>
int main() {
printf("Hello"); // 정상적인 큰따옴표 사용
return 0;
}
출력 결과:
Hello
● 실전 팁
- 복사한 코드에 유효하지 않은 문자가 섞여 있는지 항상 확인하세요.
- 코드 에디터에서 ASCII 또는 UTF-8 인코딩을 사용하는 것이 좋습니다.
- 눈에 보이지 않는 특수 문자는 코드 에디터의 "보이기" 기능을 통해 식별하세요.
C언어는 문자 단위로 엄격한 문법을 요구하기 때문에, 작은 오타나 잘못된 문자 하나로도 컴파일이 실패할 수 있습니다. 항상 코드의 문자 인코딩과 특수 문자를 확인하는 습관을 들이세요.
반응형