1 답변
-
scanf()는 프로그래머의 실수로 인해 잘못된 동작을 발생할 확률이 높습니다. 그로 인해 공격자가 원하는 명령을 실행하는 수단으로 이용될 수 있으며 보안 취약합니다.
그래서 Visual Studio에서는 기본적으로
scanf()
를 허용하지 않고, scanf_s()를 사용하기를 강력히 권장합니다.C4996의 오류 메시지의 내용과 같이
scanf()
를 사용하고 싶으면 다음과 같이 최상단에_CRT_SECURE_NO_WARNINGS
를 정의하거나, 프로젝트 속성에서 해당 전처리 매크로를 정의하면 됩니다.#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> //..
scanf_s()
를 해당 사항에 대해서 사용하고자 하면 다음과 같이 작성할 수 있습니다.scanf_s("%d", &ysalary);
댓글 입력