检测不到输入行结尾
#include <stdio.h>#include <stdlib.h>
#include <ctype.h>
int main(void)
{
int i = 0, j = 0;
char ch;
printf("Please enter some characters: \n");
while((ch = getchar()) != EOF)
{
if(islower(ch))i++;
if(isupper(ch))j++;
}
printf("%d%d", i, j);
return 0;
}
如上,统计大写字母和小写字母的数量,但是就是没有办法检测到句子的结尾,运行不下去是怎么回事呢?求教。 while((ch = getchar()) != EOF)//判断是不是回车键——即换行符'\n'
改成:
while((ch = getchar()) != '\n') EOF是文件结束标记,不是输入结束标记,楼上正解。 #include <iostream>
#include <cctype>
using namespace std;
int main()
{
int i = 0, j = 0;
char ch;
cout<<"please enter some characters:"<<endl;
cin.clear();
while((ch = getchar()) != EOF)
{
if (islower(ch))
i++;
else
j++;
}
cout<<i<<' '<<j<<endl;
return 0;
} 18813974736 发表于 2016-8-27 20:24
while((ch = getchar()) != EOF)//判断是不是回车键——即换行符'\n'
改成:
while((ch = getchar()) !=...
十分感谢! lelen99 发表于 2016-8-27 20:28
EOF是文件结束标记,不是输入结束标记,楼上正解。
谢谢! iszhuangsha 发表于 2016-8-27 20:32
感谢感谢{:10_254:}
页:
[1]