VS(Visual Studio)로 코딩하다보면 위와 같은 오류가 뜬다.
예전에 컴공 새내기일때 선배들한테 이런거 떴는데 어떻게 하냐고 물어보면
말없이 코드 맨 위에 적어줬었는데..
그땐 도움받을 선배, 동기들이 있으니까 굳이 관심 갖지 않았었다.
당장 닥친 과제를 처리하고 놀러가느라 바빴다..;;
혼자 복학해서 오랜만에 백준도 들어가보고 연습을 하다보니
익숙하지만 여전히 해결법을 모르는 이 오류가 떴고, 이젠 원인과 해결법을 알게되었다.
해결법은 단순하다. 진짜 코드 맨위에 저렇게 define 해주면 된다.
오류가 참 친절하다,,
원인은 바로 scanf 때문이다.
사실 저기 읽기 싫게 생긴 영어에 다 써있는데, 나도 해석할 생각은 무슨 바로 구글링을 했었다.
scanf가 안전하지 않다는 것이다. scanf말고 scanf_s 를 쓰라고 한다.
싫으면 _CRT_SECURE_NO_WARNINGS를 define하라고 한다.
#define _CRT_SECURE_NO_WARNINGS
이걸 코드 맨위에 써놓으면 define시키는 거다.
그럼 scanf_s 는 뭘까?
우리가 평소에 쓰던 scanf에 '입력받을 변수의 사이즈'가 추가된 함수이다.
scanf_s("%d", &n, sizeof(n) );
n이 int형이라면 4byte니까 scanf_s("%d", &n, 4 );
이런식으로 사용하면 된다.
이미 습관도 들었고 귀찮으니까 scanf_s가 어떤건지 정도만 확인하고
define이 편할 것 같다.
'컴맹 탈출기' 카테고리의 다른 글
[GitHub] 처음 원격 저장소에서 내 로컬 저장소로 프로젝트 받아올 때 (클론하는 법) (0) | 2023.08.06 |
---|---|
가상머신 / 우분투 / UTM / Shell 등 많이 들어봤지만 정확히 모르는 용어들 (0) | 2023.03.16 |
상수와 리터럴 / 변수와 식별자 (0) | 2023.03.11 |
Expression과 statement 차이점 (0) | 2023.03.10 |
[Mac] 복사, 붙여넣기/화면분할(Split View)/우클릭 (0) | 2023.03.04 |