[求助]C程序总是编译出错的几个疑惑,大家来讨论下
题目: 输入一行字符,分别统计出其中英文字母、空格、数字和其他字
我参考网上的一些资料写的代码如下:但程序编译出错,自己又找不出原因
而且网上提供的一些资料还有几个不懂的地方,实在没办法只好向大家请教了!
(不是我不愿思考,在实在找不出解决方法时,只好向高手求教了!事先向
将要帮助我的人说声:谢谢!)
=============================================================
#include <stdio.h>
void main()
{
char x;
int a=0,b=0,c=0,d=0;
printf("请输入一串字符:\n");
while((x=getchar())!='\n') //这里的(x=getchar())!='\n'是什么意思?
{
if(x<'9' && x>'0')
{
a++;
}
else if(x>'a' && x<'z'|| x>'A' && x<"Z")
{
b++;
}
else if(x='')
{
c++;
}
else
{
d++;
}
}
printf("你输入的数字个数为:%d\n",a);
printf("你输入的字母个数为:%d\n",b);
printf("你输入的空格个数为:%d\n",c);
printf("你输入的其他字符个数为:%d\n",d);
}
============================================================
说明:程序编译后总是提到有1个错误,这个错误错在哪里了?我用排除法都没找到
另外,参考网上的资料,while这里的条件必须是((x=getchar())!='\n')
那这个条件说的是什么意思?(x=getchar())!=后面为什么是'\n',而不是其他的?
'\n'在这个条件中是什么意思呢?