C语言输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数.

#include <stdio.h>int main(){int letter=0,space=0,number=0,others=0;char c;printf("请输入");for(;c!='\n';){scanf("%c",&c);if(('a'<=c&&c<='z')||('A'<=c&&c<='Z')) letter++;else if(c==' ') space++; else if('0'<=c&&c<='9') number++; else others++;}printf("letter=%d,space=%d,number=%d,others=%d",letter,space,number,others);}

我只输了个123,为什么others=1????
最新回答
槑猫

2024-11-03 01:08:19

你好!
最后的判断改成
else if('\n'!=c) others++;
过滤掉最后一个回车符
四叶草紫丁香

2024-11-03 00:42:51

C-串结尾有一个结束字符
爱生活爱***

2024-11-03 01:58:55

帅锅,你还输了回车额