C언어에서는 문자를 입력받을 때 scanf를 사용한다.
scanf와 함께 %s라는 포맷 코드를 사용하면 문자열을 입력받을 수 있는데, 여기에는 한 문제가 있다.
char txt[100];
int main() {
scanf("%s", txt);
printf("%s", txt);
}
/*
[input]
Hello, World!
[output]
Hello,
*/
바로 공백을 만나면 문자열의 끝으로 인식하고 문자열을 읽기를 그만둔다는 점이다.
이럴 때는 gets 함수를 사용하면 쉽게 해결할 수 있다.
char txt[100];
int main() {
gets(txt);
printf("%s", txt);
}
/*
[input]
Hello, World!
[output]
Hello, World!
*/