Eu consegui resolver o problema vou deixar aqui o código, pode ser útil para alguém:
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv [])
{
char c='\0';
int contv=0, contc=0, contD=0, conte;
printf("Introduza frase :\n ");
do
{
c=getchar();
if(c>='0' && c<='9')
{
contD++;
}
else if((c=='a' || c=='A') || (c=='e' || c=='E') || ( c=='i' || c=='I') || (c=='o' || c=='O') || (c=='u' || c=='U'))
{
contv++;
}
else if ((c>'a' && c<='z') || (c>'A' && c<='Z'))
{
contc++;
}
else if (c!='\n')
{
conte++;
}
}
while(c!='\n');
printf("\ndigitos %d",contD);
printf("\nvogais %d",contv);
printf("\nconsoantes %d",contc);
printf("\ncharespecial %d",conte);
return 0;
}