求解释

情深的媛 2013-01-12 09:15:21
#include <iostream.h>
#include <stdlib.h>
void main()
{ char s[5],s2[4];
cin.getline(s,5);
cin.getline(s2,4);
cout<<s<<endl<<s2<<endl;
system("pause");

}
为什么输入s串后就结束了而cin.getline(s2,4)忽略了;

.
...全文
243 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wintree 2013-01-13
  • 打赏
  • 举报
回复
引用 7 楼 lile1234_show 的回复:
C/C++ code?123456789101112//完毕 楼主可以结贴了void main(){ char s[5],s2[4];cin.getline(s,5);cin.clear();fflush(stdin);cin.getline(s2,4);cout<<s<<endl<<s2<<endl; system("pause"); }
Li_Carey 2013-01-13
  • 打赏
  • 举报
回复
楼上正解……
lee_鹿游原 2013-01-12
  • 打赏
  • 举报
回复

//完毕 楼主可以结贴了
void main()
{ 
char s[5],s2[4];
cin.getline(s,5);
cin.clear();
fflush(stdin);
cin.getline(s2,4);
cout<<s<<endl<<s2<<endl; 
system("pause");

}
kof2001kop 2013-01-12
  • 打赏
  • 举报
回复
http://blog.csdn.net/kof2001kop/article/details/6299778
SKATE11 2013-01-12
  • 打赏
  • 举报
回复
引用 4 楼 liu1pan2min3 的回复:
我是C++初学者,请问怎么清空
fflush(stdin);可以 也还有其他方法 楼主搜一下便知道
情深的媛 2013-01-12
  • 打赏
  • 举报
回复
我是C++初学者,请问怎么清空
okmime 2013-01-12
  • 打赏
  • 举报
回复
第一个getline后cin.clear()
SKATE11 2013-01-12
  • 打赏
  • 举报
回复
楼主可以在第一个输入结束的时候 清空一下输入缓冲区 fflush(stdin);
lee_鹿游原 2013-01-12
  • 打赏
  • 举报
回复
可能楼主输入的字符串s超过5

64,663

社区成员

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

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