你输入的是字符,不能用%d读取,必须用%c,读取字符,而且应该是字符数组
#include <stdio.h>
#define N 10
int main()
{
int i, l = 0, b = 0, d = 0, o = 0;
char a[N];
gets_s(a);
for (int i = 0; i < N; i++)
{
if (a[i] >= 65 && a[i] <= 90 || a[i] >= 97 && a[i] <= 122)
{
l++;
}
else if (a[i] == 32)
{
b++;
}
else if (a[i] >= 48 && a[i] <= 57)
{
d++;
}
else
{
o++;
}
}
printf("letter=%d, blank=%d, digit=%d, other=%d", l, b, d, o);
return 0;
}