输出结果错误,为什么会错误呢?
求指导!感觉好像没有很大的问题


程序有多个问题
首先char ayy[]={0},它只有一个字符长度,你的输入会导致下标溢出,这个也是你运行报错的原因
其次,scanf的%s是不能接收空格的,且后面不能有\n
给你个我写的参考
#include <ctype.h>
#include <string.h>
#include <stdio.h>
int main()
{
char s[256],c;
int i,a,b,d,e;
fgets(s,256,stdin);
a=b=d=e=0;
for(i=0;i<strlen(s);i++)
{
c=s[i];
if (isalpha(c))
a++;
else
if (isspace(c))
b++;
else
if (isdigit(c))
d++;
else
e++;
}
printf("%d %d %d %d\n",a,b,d,e);
return 0;
}