집 >백엔드 개발 >C#.Net 튜토리얼 >C의 scanf()와 gets()의 차이점(코드 예)
scanf() 함수
표준 입력(키보드)에서 입력(문자, 문자열, 숫자 데이터)을 읽는 데 사용됩니다.
공백, 개행 문자 또는 파일 끝(EOF)이 나타날 때까지 입력을 읽는 데 사용됩니다.
예를 들어 다음 코드를 참조하세요.
#include <stdio.h> int main() { char str[20]; printf("enter something\n"); scanf("%s", str); printf("you entered: %s\n", str); return 0; }
여기의 입력은 사용자가 제공하고 출력은 다음과 같습니다.
输入: Geeks for Geeks 输出: Geeks 输入: Computer science 输出: Computer
gets() 함수
표준에서 입력을 읽는 데 사용됩니다. 입력(키보드). 개행 문자나 EOF(파일 끝)가 나타날 때까지 입력을 읽는 데 사용됩니다.
#include <stdio.h> int main() { char str[20]; printf("enter something\n"); gets(str); printf("you entered : %s\n", str); return 0; }
여기서 입력은 다음과 같이 사용자에 의해 제공됩니다.
输入: Geeks for Geeks 输出: Geeks for Geeks 输入: Computer science 输出: Computer science
이들 사이의 주요 차이점은 다음과 같습니다.
scanf()는 공백, 개행 또는 파일 끝(EOF)이 나타날 때까지 입력을 읽습니다. () 읽기 개행 문자 또는 EOF(파일 끝)가 나타날 때까지 입력을 받는 경우 gets()는 공백이 발견될 때 입력 읽기를 중지하지 않고 공백을 문자열로 처리합니다. scanf는 다양한 데이터 유형의 여러 값을 읽을 수 있는 반면, gets()는 문자열 데이터만 가져올 수 있습니다.
차이점은 다음과 같이 표 형식으로 표시할 수 있습니다.
SCANF() | GETS() |
scanf()를 사용하여 문자열 입력을 읽을 때 공백, 개행 문자가 발생합니다. 또는 파일 끝에서 읽기 중지 | gets()를 사용하여 입력을 읽을 때 개행 문자나 파일 끝을 만나면 입력 읽기를 중지합니다. 공백을 문자열로 처리하지만 공백을 만나도 입력 읽기를 중단하지 않습니다. |
모든 데이터 유형 입력을 읽는 데 사용됩니다. | 문자열 입력에만 사용됩니다. |
scanf()를 사용하여 사용자의 전체 문장을 읽는 방법
실제로 전체 문자열을 읽으려면 scanf()를 사용할 수 있습니다. 예를 들어, scanf()에서 %[^n]s를 사용하여 전체 문자열을 읽을 수 있습니다.
#include <stdio.h> int main() { char str[20]; printf("Enter something\n"); // Here \n indicates that take the input // until newline is encountered scanf("%[^\n]s", str); printf("%s", str); return 0; }
위의 코드는 개행 문자를 만날 때까지 문자열을 읽습니다.
예:
输入: Geeks for Geeks 输出: Geeks for Geeks 输入: Computer science 输出: Computer science
관련 추천: "C Tutorial"
이 기사는 C에서 scanf()와 gets()의 차이점에 대한 것입니다. 도움이 필요한 친구들에게 도움이 되기를 바랍니다!
위 내용은 C의 scanf()와 gets()의 차이점(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!