运行结果不对想知道哪里错了 统计字母数字空格其他字符个数,遇到空格停止

#include<stdio.h>
void main()
{
int letter,number,space,other;
char c;
letter=0;
number=0;
space=0;
other=0;
printf("请输入一行字符:\n");
for(;(c=getchar())!='\n';)
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letter++;
else if(c>='0'||c<='9')
number++;
else if(c==' ')
space++;
else
other++;
}
printf("英文字母个数:%d;数字个数:%d;空格个数:%d;其他字符个数:%d;",letter,number,space,other);
}

else if(c>='0'||c<='9')这里不是||,要换成&&

有用采纳一下哈,数字那里错了

img

#include<stdio.h>
void main()
{
int letter,number,space,other;
char c;
letter=0;
number=0;
space=0;
other=0;
printf("请输入一行字符:\n");
for(;(c=getchar())!='\n';)
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letter++;
else if(c>='0'&&c<='9')
number++;
else if(c==' ')
space++;
else
other++;
}
printf("英文字母个数:%d;数字个数:%d;空格个数:%d;其他字符个数:%d;",letter,number,space,other);
}

把数字判断那个的||或改为&&就可以了,修改如下:


#include<stdio.h>
int main()
{
    int letter,number,space,other;
    char c;
    letter=0;
    number=0;
    space=0;
    other=0;
    printf("请输入一行字符:\n");
    for(;(c=getchar())!='\n';)
    {
        if(c>='a'&&c<='z'||c>='A'&&c<='Z')
            letter++;
        else if(c>='0'&&c<='9')
            number++;
        else if(c==' ')
            space++;
        else
            other++;
    }
    
    printf("英文字母个数:%d;数字个数:%d;空格个数:%d;其他字符个数:%d;",letter,number,space,other);
    return 0;
}