注册 登录
编程论坛 C++教室

为什么无法循环

zfeidy 发布于 2007-07-06 09:55, 382 次点击
#include<iostream.h>
#include<string.h>
void main()
{
char m='y';
char a[100];
while(m=='y')
{
cout<<"输入字符串"<<endl;
cin.getline(a,sizeof(a));
cout<<a<<endl;
memset(a,0,sizeof(a));
cout<<"继续输入请按y"<<endl;
cin>>m;
}
}

为什么无法循环,问题是出现在cin.getline(a,sizeof(a))吗?请问有什么方法让他正常循环?
2 回复
#2
zfeidy2007-07-06 10:19
回复:(zfeidy)为什么无法循环
#include<iostream.h>
#include<string.h>
void main()
{
char m='y', n; //定义n来接收回车符
char a[100];
while(m=='y')
{
cout<<"输入字符串"<<endl;
cin.getline(a,sizeof(a));
cout<<a<<endl;
memset(a,0,sizeof(a));
cout<<"继续输入请按y"<<endl;
cin>>m;
cin.get(n);//在这里接收回车字符
}
}

嘿嘿 我知道了 定义个回车字符就好了
#3
Arcticanimal2007-07-06 15:10
cin.getline(a,sizeof(a),'\n'); 这样更好,也简洁
1