문자는 char형 배열에 저장한다.
저장할 문자열의 길이보다 최소 하나 이상 크게 배열을 선언해야한다!!!!
ex)apple → 요소갯수 6개로 해야함.(널문자 저장해야돼서)
#include <stdio.h>
int main(){
char str[80] = "applejam";
/*
| 'a' | 'p' | 'p' | 'l' | 'e' | 'j' | 'a' | 'm' | '\\0' | '\\0' | '\\0' | ... (총 80바이트) |
자동으로 널값이 저장된다. 남는 배열요소 값도 모두 널값으로 자동채워짐!
*/
printf("최초 문자열 : %s\\n",str);
printf("문자열 입력 : ");
scanf("%s",str);
//여기서 입력 후 엔터를 치면 자동으로 널문자를 뒤에 추가해준다. 만약 scanf가 아닌 직접 배열의 요소를 채운다면 직접 널값을 넣어주자!
printf("입력 후 문자열 : %s\\n",str);
return 0;
}
그런데 scanf는 white space를 스페이스, 엔터 둘다 인식하게 된다.
이때 띄어쓰기도 입력하고 싶으면 scanf로는 할 수가 없고 다른 함수를 사용해야함.
gets(), puts()이다.
위 두개는 빈칸을 포함하여 한 줄 전체를 문자열로 입력한다.→화이트 문자가 엔터만 해당되는듯
'SW > C' 카테고리의 다른 글
| 11-2 버퍼를 사용하는 입력함수 (0) | 2025.03.30 |
|---|---|
| 10-1 배열과 포인터 (0) | 2025.03.30 |
| 9-2 포인터 완전정복 (0) | 2025.03.30 |
| 9-1 포인터 (0) | 2025.03.30 |
| 8-1 배열 (0) | 2025.03.30 |