카테고리 없음
C언어 scanf_s 사용시 Tip.
wooty9
2014. 1. 21. 02:51
예제문제에서 '사용자로 부터 입력을 받아...' 라는 문구가 있으면 scanf 를 이용하여 입력을 받았다.
그런데 지금은 scanf를 이용하여 코드를 작성하면 scanf_s 를 사용하라고 하면서 컴파일이 되지 않고 경고 메세지를 보여준다.
scanf를 scanf_s로 고쳐서 컴파일 하면 경고 메새지를 보여주지 않고 정상적으로 컴파일을 해준다.
하지만 막상 실행결과를 보면 원치 않는 실행결과가 나올 때가 있다.
이 경우는 배열을 이용한 문제를 풀때 발생하는데 기존 scanf 에서는 'scanf("서식문자",변수)' 이런씩으로 사용 했다면 scanf_s 에서는 'scanf_s("서식문자",변수,크기)' 이런씩으로 작성해줘야 한다.
예를 들면 '윤성우의 C 프로그래밍' 이라는 교재에 보면 이런 예제문제가 있다.
문제) 사용자로 부터 영단어를 입력받아 입력받은 영단어의 길이를 출력하라.(배열에 관한 문제)
위 문제에 대한 코드를 작성하다 보면 나 같은 초보자들에게는 실행결과가 원하는 데로 나오지 않아 당황하는데 scanf_s를 사용하면서 크기를 지정해 주지 않아서 그렇다.
따라서, scanf_s 를 사용할 때는 크기까지 정해 주어야한다.