为什么DigitCount函数没有被调用?


#include 
#include 
#include 

int DigitBit(char str[]);
void DigitCount(char a[]);

#define MAX 100

int DigitBit(char str[])
{
    int count;
    for(int i=0;str[i]!='\0';i++)
    {
        if(str[i]<='9' && str[i]>='0')
        {
            count++;
        }
    }
    return count;
}

void DigitCount(char a[])
{
    int digit[10]={0};
    for(int i=0;a[i]!='\0';i++)
    {
        if(a[i]<='9' && a[i]>='0')
        {
            digit[a[i]-'0']++;
        }
    }
    for(int j=0;j<10;j++)
    {
        if(digit[j]>0)
        {
            printf("%d: %d\n",j,digit[j]);
        }
    }

}
int main()
{
    char a[MAX];
    int sum;
    printf("Input a number:");
    scanf("%s",&a);
    sum=DigitBit(a);
    printf("%d bits\n",sum);
    void DigitCount(a);
    return 0;
}

运行时输入12223没有打印每个数字出现的字数
只打印了5 bits

main函数中对DigitCount函数的调用错了,你写的是函数声明,不是函数调用

return 0;上面的void DigitCount(a);中的void删掉。