scanf 함수란?
scan function 의 약자 (스캔함수)
-키보드로 부터 문자열을 스캔하여 데이터를 읽어내는 함수
-데이터를 스캔후 입력받은 데이터를 지정된 공간에 저장하는 원리
-printf함수와 같은 표준함수임 (visual studio에선 예외)
scanf함수 사용방법
1) 표준함수를 사용하기 위해 헤더파일 선언해주기
ex) #include <stdio.h> // 헤더파일 선언
2) visual studio로 코드 작성시 생기는오류방지를 위하여 #define _CRT_SECURE_NO_WARNINGS의 코드를 헤더파일보다도 위에 선언해주기
ex) #define _CRT_SECURE_NO_WARNINGS // 버려지는 반환값이 있어도 무시해도 괜찮다는 코드
2) scanf(" %d(입력형식) ", &function(저장함수)); 를 입력
ex) scanf(" %d %d", &num1, &num2 );
/*
제목: scanf함수를 익숙해 예제
날짜: 2024.02.18
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int num1, num2, num3;
int result;
printf("정수 2개 입력: ");
scanf("%d %d", &num1, &num2); // num1에 정수 입력받기
printf("정수 1개 입력: ");
scanf("%d", &num3); // num2에 정수 입력받기
result = num1 + num2 + num3;
printf("%d + %d + %d = %d", num1, num2, num3, result);
return 0;
}
**scanf함수 사용시 주의사항**
1) visual studio로 코드작성시 코드상으로는 문제가 없는데 C4996 또는 C6031이라는 에러로 컴파일러가 실행되지 않는 경우가 있는데, 이는 visual studio 작업환경에서 scanf를 포함한 여러 표준함수들을 보안에 취약하다는 이유로 막아뒀기 때문이다. 따라서 이 오류를 해결하고 싶다면 보안상의 이유로 에러를 더이상 내지 않도록 #define _CRT_SECURE_NO_WARNINGS의 코드를 헤더파일보다도 위인 최상단에 선언해주면 된다.
2) scanf 함수 선언시 저장공간에 변수를 선언할 때에는 반드신 앞에 &를 붙여줘야함 (이유는 나중에 이해할 수 있다고 하심)
'프로그래밍 언어 > C언어' 카테고리의 다른 글
C언어 기초이론 (printf 함수) (1) | 2024.06.13 |
---|---|
C언어 기초이론 (연산자 정리) (0) | 2024.06.13 |
C언어 기초이론 (자료형+서식문자 정리) (0) | 2024.06.13 |
C언어 기초이론 (반복문) (0) | 2024.06.13 |
C언어 기초이론 (조건문) (0) | 2024.06.13 |