본문 바로가기
C언어(C language)/C 문법

printf 와 scanf

by 공.대.남 2018. 8. 24.
반응형

printf 와 scanf를 알아보자.


아래는 이번에 배울 내용을 이용해서 만든 프로젝트이다.


먼저 printf는 전에도 쓴 함수이므로, 넘어가겠다.


scanf 는 그냥 scanf("%d",&age)라고 써도 되지만, 구조적으로 안정하지않아 VS2010 이상 버젼에서는 scanf_s 를 사용하도록 권장하고있다.


여기서 구조적으로 안정하지 않다는 말은 scanf는 구조적으로 char(문자) sentence(문자열) 을 입력할때 넣을수있는 사이즈를 넣지않아도 가능했었다. 그로 인한 문제점이 overflow 다.

예를 들어 str[5] 라고 선언후 str 에 6자리의 문자열을 넣으면 다음과 같이 에러가 나기때문에 scanf_s의 sizeof() 로 오류를 막는것이다.



따라서 scan_f 을 이용해서  256개의 공간인 name 을 만든다는 name[256]을 적고, scanf_s("%s", name, sizeof(name)) 을 하거나,  scanf_s("%d", &age) 라고 적어주는 것이다. 여기서 %d, %f, %lf, %s는 전에 설명했으므로 따로 설명하지는 않겠다. 


728x90
반응형

'C언어(C language) > C 문법' 카테고리의 다른 글

이중반복문  (0) 2018.08.26
반복문 for & while & do while  (0) 2018.08.26
증감연산(prefix & postfix)  (0) 2018.08.25
변수와 상수 그리고 주석  (0) 2018.08.24
HelloWorld 출력  (0) 2018.08.22

댓글