728x90 C언어171 [C언어][Error] 068. statement with no effect – 효과 없는 문장 존재 이 오류는 코드에서 어떤 문장이 실행되지만 실제로 프로그램의 동작에 영향을 주지 않는 경우 발생합니다. 예를 들어 단순한 변수 참조나 산술 연산 결과를 아무데도 사용하지 않고 끝낼 경우, 컴파일러는 해당 문장이 무의미하다고 판단하여 경고 또는 오류를 출력할 수 있습니다.이런 문장은 종종 실수로 작성된 것이거나, 디버깅 중에 제거되지 않은 코드일 수 있습니다.● 오류 예제#include int main() { int x = 5; x + 1; // 오류: 연산은 했지만 결과를 사용하지 않음 return 0;}컴파일 시 다음과 같은 경고 또는 오류 메시지가 출력됩니다.warning: statement with no effect● 해결 방법해당 문장을 실제 동작에 의미 있도록 수정하거나, 불필.. 2025. 4. 29. [C언어][Error] 067. pointer value used where a floating point value was expected – 포인터를 실수값으로 사용 이 오류는 포인터 값을 실수형(float, double 등)으로 사용하려고 했을 때 발생합니다. C언어는 타입이 엄격한 언어이기 때문에, 포인터 타입과 실수형 타입은 명백히 다르며 서로 자동 변환되지 않습니다. 포인터는 주소 값을 가지며, 실수형은 수치 데이터를 표현하므로 서로 대체될 수 없습니다.특히 수학 함수에서 실수형 인자를 요구할 때, 잘못된 인자로 포인터가 전달되면 이 오류가 발생합니다.● 오류 예제#include int main() { double* ptr = NULL; double result = sin(ptr); // 오류: 실수 자리에 포인터 사용 return 0;}컴파일 시 다음과 같은 오류 메시지가 출력됩니다.error: pointer value used where .. 2025. 4. 29. [C언어][Error] 066. expected '=', ',', ';', 'asm' or '__attribute__' before ')' token – 괄호 앞에 선언 오류 이 오류는 함수 매개변수 선언이나 변수 선언 구문에서 문법적으로 잘못된 형태가 있을 때 발생합니다. 특히 괄호 앞에 =, ,, ; 등이 와야 하는데 누락되거나, 잘못된 식별자가 등장할 경우 컴파일러가 해당 오류 메시지를 출력합니다.보통 함수 선언에서 매개변수 형식을 생략하거나, 매개변수 괄호 내부에 올바르지 않은 선언이 들어간 경우 발생합니다.● 오류 예제#include int add(int a, ) { // 오류: 매개변수 형식 누락 return a;}컴파일 시 다음과 같은 오류 메시지를 출력합니다.error: expected '=', ',', ';', 'asm' or '__attribute__' before ')' token● 해결 방법함수 매개변수는 모든 인자에 대해 타입과 이름이 명시되어야.. 2025. 4. 29. [C언어][Error] 065. expected identifier or ‘(’ before numeric constant – 식별자 없이 숫자 시작 이 오류는 함수 정의나 선언, 매크로 사용 시 숫자 상수 앞에 식별자나 괄호가 필요할 때 발생합니다. 즉, 함수 이름이나 변수 이름 없이 숫자가 바로 나오는 경우, 컴파일러는 해당 숫자를 해석할 수 없어 문법 오류를 발생시킵니다.주로 매크로 정의에서 실수하거나, 함수 선언을 잘못 작성했을 때 발생합니다.● 오류 예제#include int main() { 5(3); // 오류: 숫자 앞에 함수 식별자 없음 return 0;}컴파일 시 다음과 같은 오류 메시지를 출력합니다.error: expected identifier or ‘(’ before numeric constant● 해결 방법숫자는 함수처럼 사용할 수 없으므로 반드시 함수 이름(식별자)이나 매크로 이름이 먼저 와야 합니다. 아래는 함수.. 2025. 4. 29. [C언어][Error] 064. expected ‘while’ before ‘{’ token – while 없이 { 사용 이 오류는 do-while 반복문을 작성할 때, while 키워드를 생략하거나 문법 순서를 지키지 않아 발생합니다.C언어에서는 do 문 다음에 코드 블록 {}을 작성하고, 그 블록이 끝난 뒤 반드시 while(조건); 구문이 이어져야 문법이 완성됩니다.만약 while이 누락되거나, while이 블록 뒤에 오지 않으면 컴파일러는 오류를 발생시킵니다. ● 오류 예제#include int main() { do { printf("반복합니다.\n"); } // 오류: while 누락 return 0;}컴파일 시 다음과 같은 오류 메시지가 발생합니다.error: expected 'while' at end of inputerror: expected 'while' before 're.. 2025. 4. 29. [C언어][Error] 063. unterminated comment – 주석이 닫히지 않음 이 오류는 C언어에서 주석을 열었지만 닫지 않고 끝낸 경우 발생합니다. C에서는 /* 주석 */ 형태의 다중행 주석을 사용할 수 있으며, 반드시 시작과 종료를 명확히 작성해야 합니다. 만약 주석의 끝(*/)을 빠뜨리면 이후 모든 코드가 주석으로 인식되어 컴파일 오류가 발생합니다.주석 오류는 IDE에서 잘 감지되지 않기 때문에, 컴파일 시 의도하지 않은 에러 메시지가 출력되는 경우 주석을 의심해보는 것이 좋습니다.● 오류 예제#include int main() { /* 주석 시작 printf("Hello\n"); return 0;}컴파일 시 다음과 같은 오류가 발생할 수 있습니다.error: unterminated comment● 해결 방법주석을 열었으면 반드시 종료 기호 */를 붙여야 하.. 2025. 4. 29. 이전 1 ··· 4 5 6 7 8 9 10 ··· 29 다음 728x90