编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,改错

编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串,输出上述结果。程序编写时最好把存放字母、数字、空格和其它字符的变量... 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串,输出上述结果。程序编写时最好把存放字母、数字、空格和其它字符的变量定义为全程变量,这样在函数中就不必定义了。用其它方法也可以。
#include "stdio.h"
int letter=0,number=0,space=0,other=0,i;
main()
{
char a[30];
gets(a);
fff(a);
printf("letter=%d,number=%d,space=%d,other=%d",letter,number,space,other);
}
fff(b)
char b[30];
{

for (i=0;b[i]!='\0';i++)
{if(65<=b[i]<=90||97<=b[i]<=122) letter++;
else if(48<=b[i]<=57) number++;
else if(b[i]==32) space++;
else other++;}
}

帮我看看错哪了,输什么都算成letter
展开
 我来答
听不清啊
高粉答主

2015-10-03 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

不能使用连续的不等式的。

#include "stdio.h"

int letter=0,number=0,space=0,other=0,i;

main()

{

char a[30];

gets(a);

fff(a);

printf("letter=%d,number=%d,space=%d,other=%d\n",letter,number,space,other);

system("pause");

}

fff(b)

char b[30];

{

for (i=0;b[i]!='\0';i++)

{if(65<=b[i]&&b[i]<=90||97<=b[i]&&b[i]<=122) letter++;

else if(48<=b[i]&&b[i]<=57) number++;

else if(b[i]==32) space++;

else other++;}

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式