怎样退出这个循环?

SSSummering114 2008-05-23 03:01:45

#include<iostream>
#include<cstring>
using namespace std;
void main()
{
char readin[16];
char end[]="endofinput";
cin>>readin;
while(readin!=end)
{
cout<<readin<<endl;
cin>>readin;
}
cout<<"end";<<endl;
}

我输入endofinput,但是不能结束循环,请指教一下怎么退出这个循环?谢谢
...全文
156 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
summersure 2008-05-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 MagiSu 的回复:]
你比较地址显然不行了。
要么用strcmp,要么改char[]为string
[/Quote]
顶你
SSSummering114 2008-05-23
  • 打赏
  • 举报
回复
谢谢各位,我明白自己错在哪了!
yangar9179 2008-05-23
  • 打赏
  • 举报
回复
#include <iostream>
#include <cstring>
using namespace std;
void main()
{
char readin[16];
char end[]="endofinput";
cin>>readin;
while(readin!=end)
{
if (AnsiString(readin)=="q") {
return 0;
}
cout<<readin<<endl;
cin>>readin;
}
cout<<"end"<<endl;
}
MagiSu 2008-05-23
  • 打赏
  • 举报
回复
你比较地址显然不行了。
要么用strcmp,要么改char[]为string
donwmufromdying 2008-05-23
  • 打赏
  • 举报
回复
while(readin!=end)
Did you think these two address will be same?

They are not the same for ever
grellen 2008-05-23
  • 打赏
  • 举报
回复
readin!=end //这样比较的应该是这两个数组的首地址吧
seachange 2008-05-23
  • 打赏
  • 举报
回复
第9行改成 while(strcmp(readin,end)) 就可以了,
原本你的意图该是对比结束字符,却对比了地址
commts 2008-05-23
  • 打赏
  • 举报
回复
地址比较,输什么都不行,得用字符串比较strcmp
xushengcn 2008-05-23
  • 打赏
  • 举报
回复
这……
你那个结束字符数组换成一个字符,或许好使
dahua010 2008-05-23
  • 打赏
  • 举报
回复
while(strcmp(readin, end) != 0)
liyinlei 2008-05-23
  • 打赏
  • 举报
回复
while(readin!=end) //修改为 while( strcmp( readin, end ) !=0 )
{
cout < <readin < <endl;
cin>>readin;
}

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧