C++编程:统计一个字符串中单词个数,不知道我的程序哪里有问题,总是一个结果

程序如图,开头和结尾的大括号没拍下来,这个是main函数里面的内容... 程序如图,开头和结尾的大括号没拍下来,这个是main函数里面的内容 展开
 我来答
百度网友ec21859
2018-11-20 · TA获得超过115个赞
知道小有建树答主
回答量:127
采纳率:79%
帮助的人:108万
展开全部

程序统计单词的算法没有什么问题,问题出在输入带空格字符串的时候,采用了

cin >> str;

的方式。这种方式下输入字符串,回车后,cin遇到第一个空格即停止读入数据,导致无法输入第一个空格后的字符串。

解决方法:可以将输入语句改为

cin.get(str, 100);

这种方式下,cin会读取含空格的内容,遇到回车或读入长度达到100时停止读入。(注:示例中的100为程序中str数组的大小,也可自行设置cin读取的最大字符串长度)

追问
为什么带空格就不行呢
追答
因为如果单纯使用cin读取输入,cin遇到空格或回车就会结束读入,cin的设计如此。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式