#include<stdio.h> int main() { char e; int a = 0, b = 0, c = 0, d = 0; while ((e = getchar()) != }

哪错啦? visual 2015 运行结果是 0 0 0 1
#include<stdio.h>
int main()
{
char e;
int a = 0, b = 0, c = 0, d = 0;
while ((e = getchar()) != '\n');
{
if (e >= 'a'&& e <= 'z' || e >= 'A'&& e <= 'Z')
a=a+1;
else if (e == ' ')
b=b+1;
else if (e >= '0' && e <= '9')
c=c+1;
else
d=d+1;
}
printf("%d\n%d\n%d\n%d\n", a, b, c, d);
return 0;
}

while ((e = getchar()) != '\n');在输入时我们是输入的字符+回车,e取最后一次值,本来按下回车后已将字母的值送到e,但由于while语句一直判断e是否等于\n,等于才会停止,于是再从内存里getchar再次获取输入键值(\n紧跟在原字母后面,也是最后一个可读的键值),故一直为10(\n),所以没必要用while,直接scanf("%c",&e);或者e = getchar());
#include"stdafx.h"
头文件改成这个,vc++有stdio,我的vs2010编译没通过,有些头文件调整了
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答