더북(TheBook)

printAnimals()함수 정의부터 작성해 봅시다.

printAnimals()함수는 카드 지도만 출력하므로 전달값이나 반환값은 필요 없습니다.

printf()문으로 안내 문구를 작성합니다.

arrayAnimal 배열은 4 × 5 크기의 2차원 배열이므로 이중 for 문으로 접근합니다. 배열의 요소에 모두 접근하려면 바깥쪽 for 문은 i 변수로 4회 반복하고, 안쪽 for 문은 j 변수로 5회 반복합니다.

arrayAnimal 배열에는 strAnimal 배열의 인덱스만 저장되어 있고, 실제 동물 이름은 strAnimal 배열에서 확인할 수 있습니다. 동물 이름은 하마, 호랑이 등 최소 2글자에서 최대 3글자입니다. 한글은 한 글자당 2바이트를 차지하므로 이름을 출력하려면 최대 6바이트가 필요합니다. 서식 지정자를 넉넉하게 %8s로 잡습니다. 8개 공간을 확보하고 여기에 문자열을 넣어 출력하는 거죠. 그리고 %8s에 대응하는 동물 이름을 strAnimal[arrayAnimal[i][j]]로 가져옵니다. 예를 들어, 카드 지도가 다음과 같은 상태라고 합시다. 이때 ij가 0, 0이면 arrayAnimal[0][0]에 저장된 값은 1이므로 strAnimal[1]이 되어 ‘하마’가 출력됩니다.

그림 8-16 동물 위치 출력

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.