• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

scanf관련하여 질문드립니다!!

21.06.25 18:32 작성 조회수 450

0

위에 그림과 같이 _CRT_SECURE_NO_WARNIGS을 추가하여도 scanf밑에 초록색 선이 계속 나타납니다
교수님 강의 동영상을 보면 녹색선이 안나오시던데.....
컴파일 실행 시 문제는 없지만 시각적으로 보기 불편합니다 혹시 숨기거나 안나오게 하는 방법이 있을까요?

답변 1

답변을 작성해보세요.

0

안소님의 프로필

안소

2021.06.26

초록 경고 줄이 뜨는건 자연스러운 현상입니다. 저도 뜹니다! _CRT_SECURE_NO_WARNIGS 와는 상관 없어요. 그 이유를 설명드리자면, 

scanf 는 리턴값이 존재하는 함수입니다. void 함수가 아닙니다. 

그래서 저 초록줄이 뜨며 경고가 나타나는 이유는 scanf 는 리턴값이 있는 함수이니 리턴값을 어딘가에 받아서 사용하라고 하는거에요!! 즉, int result = scanf ("%d", &i) 요런식으로요! result 에서 scanf 의 리턴 결과를 대입해놓을 수 있겠죠.

근데 우리가 scanf 쓰는 이유는 다른 함수들과는 달리 리턴값이 필요하다기보단 그냥 그 입력 기능 자체를 쓰기 위해서죠. 그래서 그냥 리턴값 안받고 그냥 scanf 단독으로 쓰는건데.. 그래서 리턴값을 사용하라고 경고하는 저런 초록 줄이 계속 떠서 좀 거슬리실 수 있을 것 같아요. 

리턴 결과가 있는 함수를 호출할 때 리턴값 어디다 안받아놓더라도 경고 안해주도록! 설정하는 방법이 있습니다. 아마 제 생각엔 교수님께서도 경고 안뜨게끔 설정 따로 하신 것 같아요. 

검색해보니 여러 방법이 나오네요. 이 블로그 글 따라하시면서 프로젝트 속성 수정하셔서 경고 없애보세요! https://pang2h.tistory.com/180

노트님의 프로필

노트

질문자

2021.06.26

아하 그렇군요 감사합니다!!!