문자열을 입력 받은 후 대/소문자 구별해서 알파벳 개수를 출력하는 코드를 만들고 있는데 소문자 출력 코드에서 대문자를 포함한 개수를 출력하는데 이유를 모르겠습니다. 코드는 다음과 같습니다.


#include <stdio.h>

int main()

{

    char a[200];

    int n[26] = { 0 };

    int len, i, j;

    gets(a);

    len = strlen(a);

    printf("<전체 알파벳의 개수>\n");

    for(i = 0; i < len; i++) {

        for(j = 65; j <= 90; j++) {

            if(a[i] == j) n[j - 65]++;

        }

    }

    for(i = 0; i < 26; i++) {

        if(n[i] > 0)

            printf("%c : %d\n", i + 65, n[i]);

    }

    for(i = 0; i < len; i++) {

        for(j = 97; j <= 122; j++) {

            if(a[i] == j) n[j - 97]++;

        }

    }

    for(i = 0; i < 26; i++) {

        if(n[i] > 0)

            printf("%c : %d\n", i + 'a', n[i]);

    }

    return 0;

}