while循环中t=getchar()这一部分用小括号扩起来
=优先级比!=要低,所以你这样写的话其实相当于t=(getchar()!='\n')
#include
#include
int main()
{
char *c=(char *)malloc(10000);
gets(c);
//string str=c;
//int l=str.length();
int l=0;
int da=0,xiao=0,shuzi=0,kong=0,qita=0;
while(c[l]!=NULL)
{
if(c[l]>='A'&&c[l]<='Z')
{
da++;
}
else if(c[l]>='a'&&c[l]<='z')
{
xiao++;
}
else if(c[l]>='0'&&c[l]<='9')
{
shuzi++;
}
else if(c[l]==' ')
{
kong++;
}
else qita++;
l++;
}
printf("大写:%d个、 小写:%d个、 数字:%d个、 空格%d个、 其他:%d个\n",da,xiao,shuzi,kong,qita);
free(c);
return 0;
}