标题:[求助]一个小程序中的问题
只看楼主
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
结帖率:0
 问题点数:0 回复次数:21 
[求助]一个小程序中的问题

#include <iostream>
using namespace std;

#include <string>

int main()
{
string word;

while ( cin >> word )
cout << "word read is: " << word << '\n';

cout << "ok: no more words to read: bye!\n"; //什么情况下才能执行这句??

return 0;
}
在书上看到一个小程序,但不知道什么时候会能执行这句??
哪位朋友指点一下啊?
谢谢!

搜索更多相关主题的帖子: word string cout include 
2007-08-08 08:05
bupthehe
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2007-8-2
得分:0 
刚才试了一下,程序是无限循环的

所以不会输出那句话的
2007-08-08 08:50
ertcvb
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-8-8
得分:0 

#include <iostream>
我现在只看出来,是不是你少写了一点什么#inlude<iostream.h>应该是这样吧

#include <string>还有这个while ( cin >> word )你这个语法也错了吧,(表达式)能必须能计算出表达式的值为真或者为假呀,不知道你想写什么,你把题目发一下吧,我是菜鸟,可能可以告诉你怎么写哦

2007-08-08 09:24
bupthehe
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2007-8-2
得分:0 
以下是引用ertcvb在2007-8-8 9:24:56的发言:

#include <iostream>
我现在只看出来,是不是你少写了一点什么#inlude<iostream.h>应该是这样吧

#include <string>还有这个while ( cin >> word )你这个语法也错了吧,(表达式)能必须能计算出表达式的值为真或者为假呀,不知道你想写什么,你把题目发一下吧,我是菜鸟,可能可以告诉你怎么写哦

#include <iostream>是C++的写法
#include <iosteam.h>是C的写法,两个都对
while(cin>>word)这个语法也对
调用cin时,如果如数正确,则默认返回值为真,因而while语句成立

2007-08-08 09:40
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
得分:0 

哪有什么无限循环。

想跳出循环,不想继续输入了,直接按f6+回车,或者ctrl+z回车,这是输入文件结束符。


Fight  to win  or  die...
2007-08-08 10:11
狂人老大
Rank: 1
来 自:杭州
等 级:新手上路
威 望:1
帖 子:394
专家分:0
注 册:2007-6-21
得分:0 
以下是引用ertcvb在2007-8-8 9:24:56的发言:

#include <iostream>
我现在只看出来,是不是你少写了一点什么#inlude<iostream.h>应该是这样吧

#include <string>还有这个while ( cin >> word )你这个语法也错了吧,(表达式)能必须能计算出表达式的值为真或者为假呀,不知道你想写什么,你把题目发一下吧,我是菜鸟,可能可以告诉你怎么写哦

#include <iostream>是标准C++里的
#inlude<iostream.h>是传统C++里的
#include <string>表示要输出字符数组
while ( cin >> word )表示是否输入字符 这是个无限循环的 跳不出去的啊


ACMer的QQ群:33741351
单片机QQ群:55130117
2007-08-08 12:58
狂人老大
Rank: 1
来 自:杭州
等 级:新手上路
威 望:1
帖 子:394
专家分:0
注 册:2007-6-21
得分:0 
呵呵 原来F6+回车键就是跳出啊

ACMer的QQ群:33741351
单片机QQ群:55130117
2007-08-08 13:00
xingsou
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-7-24
得分:0 
顶五楼

╔───────────╗ │ミ愛上伱,我輸嘚徹底ミ │ ╚───────────╝
2007-08-08 18:27
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
得分:0 
回复:(aipb2007)哪有什么无限循环。想跳出循环,不...

哦,我还一直没弄明白什么是结束符呢~
多谢了!


2007-08-08 19:40
vn198651
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-6-2
得分:0 

while ( cin >> word )
cout << "word read is: " << word << '\n';

cout << "ok: no more words to read: bye!\n"; //什么情况下才能执行这句??

return 0;

我怎么感觉while之后的一个语句应该用括号扩起来呢。。。

while ( cin >> word )

{

cout << "word read is: " << word << '\n';

}

cout << "ok: no more words to read: bye!\n"; //什么情况下才能执行这句??

return 0;

比如这样
要不然每次输入一个非零数都会输出ok: no more words to read: bye!的吧,加了括号之后就不会了,当你输入结束的时候输入0,就会跳出循环,输出提示语句
ok: no more words to read: bye!
初学者,请多指教!
2007-08-08 20:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-161110-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.370495 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved