더북(TheBook)

안쪽 for 문에서 checkAnimal[i][j]가 0이 아닌지 확인합니다. 0이 아니면 카드가 뒤집힌 상태, 즉 앞면이므로 동물 이름을 출력합니다. 동물 이름은 printAnimals()함수에서처럼 strAnimal[arrayAnimal[i][j]]의 값을 출력하면 됩니다(그림 8-16 참고).

카드 짝을 못 찾으면 다시 뒷면으로 돌아가므로 카드 번호를 출력합니다. 동물 이름을 %8s로 출력했으므로 카드 번호도 서식 지정자를 %8d로 지정해 간격을 맞춥니다. 이때 카드 번호를 담을 변수가 필요합니다. for 문 앞에 seq라는 변수를 선언하고 0으로 초기화합니다. 변수 seqprintQuestion()함수에서만 사용하므로 지역변수로 선언합니다. 그리고 seq 변수를 사용해 카드 번호를 출력합니다.

안쪽 for 문이 한 번 실행될 때마다 seq 변수의 값을 하나씩 증가시킵니다. 값은 0~19까지 증가하고 정답을 맞혔을 때는 이 값을 출력하지 않고 넘어갑니다. seq 변수의 역할은 다음 그림과 같습니다. 카드 번호는 0부터 시작해서 1씩 계속해서 커지므로 짝을 맞췄든, 못 맞췄든 상관없이 seq 변수의 값은 항상 1씩 증가합니다.

그림 8-18 seq 변수의 역할

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