c++新手问题,帮忙找找代码的错误

#include<stdio.h>
void main()

{
int a=0,b=0,c=0,d=0;
char ch;
ch=getchar();
for(;ch<'\n';ch=getchar())


{

if('A'<=ch&&ch<='z')

a++;

else if('0'<=ch&&ch<='9')

b++;

else if(ch==' ')

c++;

else

d++;

}

printf("英文字母:%d ,数字:%d,空格:%d,其他: %d",a,b,c,d);

return ;

}
 

 

我在你的代码基础上做了修改,并且调试完成。

#include<stdio.h>
#include<string.h>  //字符串处理
void main() {
    int a = 0, b = 0, c = 0, d = 0;
	char str[100];
	printf("请输入字符串:");
	gets(str);
	int i=0,length;
	//获取字符串长度
	length = strlen(str);
    char ch;
    for( i=0; i<length; i++){
		ch = str[i];
		if (('A' <= ch && ch <= 'Z') || ('a' <= ch && ch <= 'z'))
            a++;
        else if ('0' <= ch && ch <= '9')
            b++;
        else if (ch == ' ')
            c++;
        else
            d++;
	}
    printf("英文字母:%d ,数字:%d,空格:%d,其他: %d \n", a, b, c, d);
    return;
}