como le hago para detectar los signos y que los cuente
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main()
{
char cadena[50];
char numeros[50];
char texto[50];
char signos;
int z,i, j, k;
signos=0;
printf("escribe algo mixto: ");
scanf("%s",cadena);
for(i = 0, j = 0, k = 0; i < strlen(cadena); i++)
{
if( isdigit( cadena ) )
numeros[j++] = cadena;
else if (isalpha(cadena))
texto[k++] = cadena;
else
signos += cadena;
}
numeros[j] =0;
texto[k]=0;
printf("\nnumeros %s",numeros);
printf("\ntexto %s",texto);
printf("\nla cantidad de letras son %i", k);
printf("\nla cantidad de numeros son %i", j);
printf("\nla cantidad de signos son %i", z);
return 0;
}