#include <stdio.h>
void main(){
int arr[10] = { 0 };
int num[4] = { 0 };
int i;
for (i = 0; i < 10; i++){
arr[i] = getchar();
printf("%d ", arr[i]);
}
for (i = 0; i < 10; i++){
switch (arr[i]){
case 'a':
num[0]++;
break;
case 'b':
num[1]++;
break;
case 'c':
num[2]++;
break;
case 'd':
num[3]++;
break;
}
}
for (i = 0; i < 4; i++)
printf("배열에 %c는 %d개 입력되어 있습니다.\n", i + 65, num[i]);
}
입력으로 abcd 중 하나를 넣는건데 배열 입력해서 보면 a 10 b 10 c 10 d 10 이딴식으로 들어가는데 여기서 10이 왜 들어가요?
'a' 10 'b' 10 이런식이겠지
매번 엔터쳐서 그런거 아니야?
엔터치는거 없앨라면 어떻게 해야되요?
arr[i] = getchar(); 여기를 어떻게 바꿔주면 되지.
첫 for문 없애고 int count = 0; while(count < 10){ arr[count] = getchar(); if (arr[count] < 'a' || arr[count] > 'd') break; count++; } 이런식.
두번째 for 문은 10 앞 까지 도는게 아니라 count 앞 까지만 돌려주면 돼.
그럼 abcd 말고 딴걸 입력하면 바로 입력 완료함.
getchar가 캐릭터리턴하는놈인데 받아오는놈은 인트네?
ㄴ 평신. getchar() 함수 리턴 타입은 int 형이란다 아가야.