inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

홍정모의 따라하며 배우는 C언어

3.4 간단한 입출력 프로그램 만들기

scanf warning

457

Man Do

작성한 질문수 1

1

디버깅을 할 때마다 밑에

Code:C6031 Return value ignored

라는 warning이 뜹니다... 어떻게 해야하나요?

c

답변 4

6

홍정모

안녕하세요? 뒤에 설명이 나올텐데, C언어는 프로그램이 매우 엄격해야 하는 경우에도 많이 사용되는 언어라서 최근에 점점 컴파일러도 엄격해지는 경향을 보이고 있습니다. 예를 들어서 우주선 같은 하드웨어를 제어하는 프로그램을 작성한다면 하드웨어에 문제가 있는 경우에는 즉시 문제가 있다는 것을 보고하고 종료해야겠죠. 그래서 scanf도 반환값을 받아서 문제가 있는지 확인하는 코드를 꼭 작성하도록 유도하기 위해서 경고가 뜨는 것입니다. flag로 받아서 확인하는 예제는 뒤에 나옵니다만, 표준 입출력같이 간단한 경우에는 워닝을 꺼버리는 방법도 있습니다. 워닝 끄는 방법도 뒤에 나옵니다만 검색하셔도 쉽게 찾으실 수 있을겁니다.

* 위의 김진범님 답변에 '쓸데 없는 메모리 사용'이라는 얘기가 나오는 이유는 반환값을 받은 후에 문제가 있는지 검사를 하는데에 쓰지 않아서 그렇습니다. 원래는 입력이 잘 들어왔는지 매번 확인해주는 것이 원칙입니다.

0

김진범

검색으로 인한 단편적인 지식이었는데 더 깊게 알고가게되네요! 감사합니다 교수님 :)

0

Man Do

도움 주셔서 감사합니다^^

0

김진범

제가 답할 수 있는 입장이 되는지 모르겠다만 저도 불편해서 찾아보니까 C6031같은경우 scanf의 반환값을 대입하거나 사용하지 않아서 오류가 뜬다고 하더라구요. 실행하고 사용하는데 문제가 없으면 무시해도 된다고 하나 없애고 싶으면 scanf 함수로 입력받는 코드 자체를 또 하나의 변수를 사용하여 대입하면 사라지긴하나 쓸데없는 메모리 사용이라고 합니다. 도움되셨으면 좋겠습니다. 근데 아마 조교분이나 교수님이 더 정확한 답변을 해주실 수 있을 것 같습니다ㅠ

Export template 안됨

1

8

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

52

3

main 함수에서 왜 int만 선언이 되는걸까요

1

56

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

54

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

49

1

프로토타입과 함수간의 인자 불일치

1

73

2

12.12 헤더 관련 질문

1

60

2

Visual Studio Community 2026 사용 문의

1

137

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

60

2

getchar(), putchar()

1

93

3

강의자리ㅛ

1

79

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

112

2

소스파일안에 여러 파일

1

75

2

F5와 F7의 차이

1

76

2

c = TWO * (a+b); 에서 a와 b는?

1

58

2

; 세미콜론을 붙이는 기준에 문의

1

68

1

Step over 기능 문의

1

53

2

2.6 강의 따옴표 출력 규칙 문의

1

74

2

int main 함수 관련 오류 문의

1

67

2

13.4 words[0]

0

60

2

11.7 함수를 구현해 봤습니다.

1

62

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

64

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

53

2

11.6 fit_str함수를 구현해 봤습니다.

1

53

2