题主代码修改如下,供参考:
#include <stdio.h>
void abb(char* p)
{
int a = 0, b = 0, c = 0, d = 0;
while (*p != '\0')
{
if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z'))
a++;
else if (*p >= '0' && *p <= '9')
b++;
if (*p == ' ')
c++;
else
d++;
p++;
}
printf("%d ", a);
printf("%d ", b);
printf("%d ", c);
printf("%d ", d);
}
int main()
{
char arr[100];
gets(arr);
abb(arr);
return 0;
}