#include <stdio.h>
int main(void){
char animal[5][20];
int i ,count;
count = sizeof(animal) / sizeof(animal[0]);
for (i = 0; i< count; i++){
scanf("%s", animal[i]);
}
for (i = 0; i< count; i++){
printf(" %s", animal[i]);
}
return 0;
}
### 배열 초기화 및 입력
- `char animal[5][20];`는 각각 최대 19개의 문자와 널 종료 문자(`\0`)를 저장할 수 있는 5개의 문자열 배열을 선언합니다. 이 배열은 5개의 동물 이름을 저장하는 데 사용됩니다.
- `count = sizeof(animal) / sizeof(animal[0]);`를 통해 `animal` 배열의 길이(즉, 저장할 수 있는 동물의 수)를 계산합니다. 이는 `animal` 배열 전체의 크기를 첫 번째 요소의 크기로 나누어 구합니다.
### 동물 이름 입력 받기
- for 루프를 사용하여 사용자로부터 동물의 이름을 입력 받습니다. 각 이름은 `scanf("%s", animal[i]);`를 사용하여 `animal` 배열의 해당 위치에 저장됩니다. `%s` 형식 지정자는 공백을 기준으로 문자열을 입력 받으므로, 동물 이름에 공백이 포함되어 있으면 그 전까지만 입력 받습니다.
### 입력된 동물 이름 출력
- 또 다른 for 루프를 사용하여 `animal` 배열에 저장된 모든 동물 이름을 순서대로 출력합니다. `printf(" %s", animal[i]);`를 사용하여 각 이름을 출력합니다.
### 주의사항
- 이 코드는 사용자로부터 입력을 받을 때 공백, 탭, 엔터 등을 문자열의 구분자로 사용합니다. 따라서 동물 이름에 공백이 포함된 경우 예상치 못한 방식으로 작동할 수 있습니다.
- `scanf`를 사용하여 문자열을 입력 받을 때, 배열의 크기를 초과하지 않도록 주의해야 합니다. 입력된 문자열이 배열의 크기를 초과하는 경우, 버퍼 오버플로우가 발생하여 프로그램이 예기치 않게 작동할 수 있습니다.
### 프로그램 종료
- `return 0;`은 프로그램이 성공적으로 실행되었음을 나타냅니다.
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 14) 포인터 배열로 여러 개의 문자열 출력 (0) | 2024.09.05 |
---|---|
chapter 14) 여러 개의 1차원 배열을 2차원 배열로 사용 (0) | 2024.09.04 |
chapter 13) 10을 더하기 위해 값을 인수로 주는 경우 (0) | 2024.09.02 |
chapter 13) 포인터를 써서 변수의 값에 10을 더하는 경우 (0) | 2024.09.01 |
chapter 13) 주소를 반환하여 두 정수의 합 계 (0) | 2024.08.31 |