728x90
이 오류는 코드에서 어떤 문장이 실행되지만 실제로 프로그램의 동작에 영향을 주지 않는 경우 발생합니다. 예를 들어 단순한 변수 참조나 산술 연산 결과를 아무데도 사용하지 않고 끝낼 경우, 컴파일러는 해당 문장이 무의미하다고 판단하여 경고 또는 오류를 출력할 수 있습니다.
이런 문장은 종종 실수로 작성된 것이거나, 디버깅 중에 제거되지 않은 코드일 수 있습니다.
● 오류 예제
#include <stdio.h>
int main() {
int x = 5;
x + 1; // 오류: 연산은 했지만 결과를 사용하지 않음
return 0;
}
컴파일 시 다음과 같은 경고 또는 오류 메시지가 출력됩니다.
warning: statement with no effect
● 해결 방법
해당 문장을 실제 동작에 의미 있도록 수정하거나, 불필요한 경우 제거해야 합니다. 아래는 수정된 예시입니다.
#include <stdio.h>
int main() {
int x = 5;
x = x + 1; // 결과를 x에 저장하여 효과 있음
printf("%d\n", x);
return 0;
}
출력 결과:
6
● 실전 팁
- 연산이나 변수 접근이 프로그램 흐름에 영향을 미치지 않는다면 의미 없는 문장입니다.
- 디버깅이나 테스트 후 불필요한 문장은 반드시 제거하세요.
- 컴파일러 경고를 확인하고 해당 문장의 필요 여부를 검토하는 습관을 가지세요.
의미 없는 문장은 가독성을 해치고 유지 보수에 혼란을 줄 수 있으므로, 항상 논리적인 흐름과 결과가 있는 코드로 작성하는 것이 바람직합니다.
728x90