[C언어] scanf 오류 해결

안녕하세요, CUBE입니다.
이번 포스팅에서는 C언어를 처음 접하시는 분들이 자주 겪는 오류인
scanf 오류 해결 방법에 대해 다뤄보려고 합니다.

총 3가지의 방법이 있는데 하나하나 알아보도록 할게요!
#include<stdio.h>
int main() {
int a;
scanf("%d", &a);
}
해결해야 하는 코드
위에 있는 코드를 이용해서 해결해보도록 할게요!
scanf_s 사용하기
첫 번째 방법은 scanf_s를 사용하는 방법입니다.
#include<stdio.h>
int main() {
int a;
scanf_s("%d", &a);
}
scanf를 scanf_s로 바꿔주면 끝나는 방법입니다!
단, 문자를 입력할 때는 약간 다릅니다.
#include<stdio.h>
int main() {
char b;
scanf_s("%c", &b, 1);
}
위 코드와 같이 문자를 입력할 때는 마지막 인수로 변수의 size를 적어주어야 합니다.
1 대신 sizeof(b) 또는 sizeof(char)를 적어주셔도 무방합니다!
_CRT_SECURE_NO_WARNINGS
두 번째 방법은 _CRT_SECURE_NO_WARNINGS를 추가하는 방법입니다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int a;
scanf("%d", &a);
}
여기서 주의할 점은 _CRT_SECURE_NO_WARNINGS를 반드시 헤더 파일 위에 적어주셔야 합니다.
이와 비슷한 방법으로는 #pragma warning(disable:4996)을 추가하는 방법이 있습니다.
오류 메시지를 보게 되면 C4996이라고 적혀있는데 이 코드는 이러한 4996 오류를 무시한다는 것입니다.
SDL 검사
세 번째 방법은 SDL 검사 속성을 바꾸는 방법입니다.

프로젝트 -> 속성 -> C/C++ -> 일반
이 경로로 들어오면 다양한 옵션이 있는데
SDL 검사 부분에서 예 -> 아니오로 바꿔주시면 됩니다.
이 방법은 나머지 방법과 달리 한 번만 설정하면 그 후에는 추가하거나 변경할 필요가 없습니다!
C언어 scanf 오류 해결 포스팅 마치겠습니다.