关于#其他#的问题,如何解决?

编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。


#include<stdio.h>
#include<string.h>
 int main()
{
    void number(char *p);
    char str[100];
    gets(str);  
    number(str);
    return 0;
}
void number(char* p)
{
     int letter=0,r=0,digital=0,space=0;
     while (*p != '\0')        //字符串的结束符号位"\0"
     {
         if (('A' <= *p) && (*p <= 'Z')|| ('a' <= *p) && (*p <= 'z'))
             letter++;
         else if (*p == ' ')
             space++;
         else if (*p >= '0' && *p <= '9')
             digital++;
         else
             r++;
         p++;
     }
    printf("字母:%d﹐数字:%d,空格:%d,其他:%d",letter,digital,space,r);
}