问题描述
- 关于C代码,统计各种字符个数
-
void main()
{
char c;
int i=0,letter=0,space=0,digit=0,others=0;
printf("please input some charactersn");
while ((c=getchar()!='n'))
{
if((c>='a')&&(c<='z')||(c>='A')&&(c<='Z'))
++letter;else if(c==' ') space++; else if(c>='0'&&c<='9') digit++; else others++; } printf("letters=%d,space=%d,digit=%d,others=%d",letter,space,digit,others); system("pause");
}
为什么上面的不正确,下面的正确呢?
#endif
#if 0
#include
void coun(char s[])
{
int i,m=0,n=0,p=0,d=0;
for(i=0;s[i]!='';i++)
{if(s[i]==' ')
p++;
else if((s[i]>='0')&&(s[i]<='9'))
m++;
else if((s[i]>='A')&&(s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))
n++;
else d++;}
printf("输入的字符串是:%sn数字的个数:%dn字母的个数:%dn空格的个数:%dn其它字符个数:%dn",s,m,n,p,d);
}
解决方案
while ((c=getchar()!='n'))的问题吧,应该是while (((c=getchar())!='n')),!=优先级大于=
解决方案二:
while ((c=getchar()!='n'))
改成下面的试试
while((c=getchar())!='n')
解决方案三:
你的while里面括号括错了,应该把c=getchar()整个括起来
时间: 2024-09-20 20:51:04