포인터와 사용자정의 함수를 사용해서 이름(문자열)에 어떤 알파벳이 몇개 존재하는지 출력하는 프로그램인데요,
제가 짠 코드는 이러합니다
A까지만 출력이 나오고 안나오더라구요ㅠ
저기 Continue 지워봤더니 A는 두개있다 만 제대로 출력되고 나머지는 다 0개 있다고 출력이 되더라구요
그래서 사용자 정의 함수는 빼고, 그냥 main문 안에서만 코드를 짜봤는데,
#include <stdio.h>
main()
{
int i, j, k, count[26] = {0};
char name+;
char *name_p;
printf("Please input your name :\n");
gets(name);
for(i=97, j=65, k=0; i<122; i++, j++, k++) {
name_p = name;
while (*name_p != '\0') {
if(i==*name_p || j==*name_p)
count[k]++;
*name_p++;
}
}
for(k=0, j=65; k<26; k++, j++) {
if(count[k] == 0) {
continue;
}
printf("Number of %c is %d\n", j, count[k]);
}
}
이런식으로 했더니 정확히 결과가 나오더라구요...
도움이 필요합니다 ㅠㅠ
while문 안에 있는 *p++이 문제인듯
A에서 한번 while 돌면 *p가 \0이 됨
그러면 문자열 확인을 어떻게해야할까요 흠..
덕분에 해결했습니다 감사합니다 ㅠㅠ!!
열공해