뉴스충청

C언어 질문

2025. 3. 22. 오후 4:06:02

C언어 질문

소스 코드에 문제가 없습니다.

어디가 문제라고 말씀하시는 건가요?

혹시 scanf 함수에 밑줄 쳐진거 말씀하시나요?

저건 무시하셔도 되는거고요. 컴파일 경고라서 실행에는 문제가 없습니다.

저게 왜 밑줄이 뜨는거냐면 scanf 함수의 반환값을 사용하지 않았기 때문입니다. 함수는 일반적으로 반환값을 사용하려고 쓰는건데 사용자가 함수를 호출해놓고 반환값을 사용하지 않았다고 컴파일러가 사용자한테 "너, 이 함수 반환값 왜 안쓴건데?" 이렇게 경고해주는 겁니다. 저 밑줄이 보기 싫으시면 scanf 함수 반환값을 받아주면 됩니다.

double a = scanf("%lf", &w);

double b = scanf("%lf", &h);

이런식으로 함수 반환값을 받아주면 밑줄(컴파일 경고) 사라집니다. 하지만 이 오류는 무시하셔도 되는 오류지만 밑줄이 신경쓰이시면 이렇게 반환값을 받아주면 됩니다. 컴파일 경고도 원래는 함부로 무시하시면 안 되지만 scanf 함수 반환값 안 받아서 나오는 컴파일 경고는 무시해도 아무런 문제가 없습니다.

글 목록으로 돌아가기