C언어 scanf_s 함수
#include <stdio.h>
int main(void)
{
int result;
int num1, num2, num3;
printf("정수 one: ");
scanf_s("%d %d %d", &num1, &num2, &num3);
printf("%d %d %d",num1, num2, num3);
return 0;
}
scanf 함수는 사용자로부터 입력을 받는 함수이다. 돌려보니 scanf로는 컴파일이 안돼서 살펴보니 scanf_s를 사용하라고 한다. scanf는 버퍼 오버플로우가 있을 수 있어 scanf_s로 버퍼 영역을 우선해서 버퍼 오버플로우 없이 사용되도록 권장하고 있다.
scanf_s("%d %d %d", &num1, &num2, &num3); 를 보면 입력받는 인자부분에 %d로 정의하면 정수를 입력받을 수 있도록 하는 것이다. 예를 데이터 타입으로도 입력을 요구할 수 있다. 여기에 &num1의 의미는 num1에 그 값을 입력하라는 의미이다.
즉, 사용자로부터 1 2 3이 입력되면 num1, num2, num3에 각각 1 2 3이 입력된다.
scanf_s 함수는 공백을 기준으로 데이터를 구분하고, 따라서 위에서 정수 3개를 입력할 때 스페이스바, 탭 또는 엔터 키를 입력하면 된다.
해당 내용은 윤성우 열혈 C프로그래밍을 참조하였습니다.
'C C++ > C언어 기초' 카테고리의 다른 글
C언어 #7 - 자료형의 이해 (int, long, float, double, char, short, long long) (0) | 2022.01.01 |
---|---|
C언어 #6 - C언어 10진수, 16진수, 8진수 출력 (0) | 2021.12.28 |
C언어 #4 - C언어 변수선언과 초기화 (변수선언 유의점, 자료형) (0) | 2021.12.28 |
C언어 #3 - C언어 printf 함수 (printf 함수 설명, 서식문자) (0) | 2021.12.28 |
C언어 #2 - C언어 함수 기초 (헤더 선언, 표준함수, 표준 라이브러리, main함수, Hello world!) (0) | 2021.12.28 |
댓글