반응형
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 |
댓글