위의 함수를 사용 시 키보드와 같은 입력 장치로부터 입력받은 값들은 입력 종료 문자가 들어오기 전까지 입력 버퍼라는 곳에 값이 저장된다.
입력 종료 문자가 들어오기 전까지 입력 버퍼 안에 존재하는 값은 수정이 가능하다. 그러므로 우리가 입력할 때 오타가 발생하여도 수정이 가능하다.
반대로 입력 버퍼를 사용하지 않는 입력은 키보드를 누른 순간 바로 전송된다. ( <conio.h 의 getch 와 같은 함수들)
아래는 함수들의 활용 예시이다.
gets와 scanf의 차이 그리고 scanf의 활용 알아보기
#include <stdio.h>
int main()
{
char s1[100];
char s2[100];
char s3[100];
printf("값 입력 : ");
gets(s1);
printf("\\ngets() 를 통해 입력받은 값 : %s\\n\\n", s1);
printf("값 입력 : ");
scanf("%[^\\n]s", s2);
printf("\\nscanf([^\\\\n]) 를 이용해 입력받은 값 : %s\\n\\n", s2);
printf("값 입력 : ");
scanf("%s", s3);
printf("\\nscanf() 를 이용해 입력받은 값 : %s\\n\\n", s3);
}