728x90
반응형
C를 사용하여 문자열을 입력받을 때, 무심코 공백이 포함된 문장을 입력하다가
엔터나 스페이스바가 입력된 기준으로 그 앞까지만 배열에 저장되는 걸 종종 보게 된다.
이러한 코드를 실행시켜 다음과 같이 입력을 하면, 원하는 결과가 출력되지 않는 걸 확인할 수 있다.
따라서, 우리는 배열에 공백을 포함하여 입력받고 싶을 땐 아래와 같은 2가지 방법을 사용하면 된다.
1. scanf 사용 시 [^\n] 추가
2. gets 함수 사용
gets 함수는 기본적으로 공백을 포함해서 입력을 받는 함수이다.
물론 안정성 때문에 gets 함수 사용이 권장되지는 않으니 1번 방법을 사용하여, 공백을 포함한 문자열을 입력받으시면 됩니다.
'C Programming' 카테고리의 다른 글
C언어 포인터 기초 (선언) - 공부하는 도비 (0) | 2022.10.13 |
---|---|
C언어 행렬 곱셈 - 공부하는 도비 (1) | 2022.10.03 |
C언어 2차원 배열의 합 - 공부하는 도비 (0) | 2022.10.03 |
C언어 입력한 년도에 따른 달력 출력 - 공부하는 도비 (1) | 2022.09.30 |
visual studio scanf 오류 해결 방법 5가지 - 공부하는 도비 (1) | 2022.09.30 |