c语言求大佬帮忙看下什么问题,

2025-05-20 13:45:28
推荐回答(3个)
回答1:

这代码可以运行。
无论while括号条件怎么写,既然出现死循环,只能说明 if(e=='\n') 判断不成立。
你把条件扩展成 if(e=='\n' || e=='\r')试试。

回答2:

你把while里面改成1,因为你输入换行已经break了,不需要条件退出了,只需要不停输入就行了

回答3:

#include
int main()
{
int a=0,b=0,c=0,d=0;
char e;
do{
e=getchar();
if((e>='a'&&e<='z')||(e>='A'&&e<='Z')) a++;
else if(e>='0'&&e<='9') b++;
else if(e==32) c++;
else d++;
}while(e!='\n');
printf("%d %d %d %d",a,b,c,d);
return 0;
}