C++统计空格和换行符的个数

代码如下,输入后统计不了,不知道问题出在哪里
#include <iostream>
using namespace std;

int main()
{
unsigned kg = 0, hh = 0;
char ch;
while (cin >> ch)
{
if (ch == ' ') kg++;
if (ch == '\n') hh++;
}

cout << "空格的个数为:" << kg << endl;
cout << "换行符的个数为:" << hh << endl;
system("pause");
return 0;
}

while (cin >> ch)
{
if (ch == ' ') kg++;
if (ch == '\n') hh++;
}
我觉得while (cin >> ch)这个条件会一直为TRUE,一直等你输入,所以跳不出循环,下面就没输出了;
而且发现控制台是没办法输入换行符的吧;

下面这个可以统计空格
#include <iostream>
using namespace std;

int main()
{
unsigned kg = 0, hh = 0;
char ch[10];//自己定义大小
cin.get(ch,sizeof(ch));
for(int i=0;i<sizeof(ch);i++)
{
if (ch[i] == ' ') kg++;
if (ch[i]== '\n') hh++;
}

cout << "空格的个数为:" <<kg<< endl;
cout << "换行符的个数为:" << hh << endl;
system("pause");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-13
你的eof符就没有输入进去,要在新的一行输入ctrl+z
满意请采纳。
第2个回答  2014-09-13
把空格符号“ ”改成ASC的'/b'试试
相似回答