读书人

一个小疑点请大家帮帮忙

发布时间: 2012-04-16 16:20:04 作者: rapoo

一个小问题,请大家帮帮忙!

C/C++ code
#include <iostream>#include <vector>#include <string>using namespace std;int main(){   vector<int> ivec;   int num;   string str;   while( cin >>num )  {     ivec.push_back(num);   }   cin >>str;          //为什么等不到输入str就结束了呢?   cout <<str <<endl;   for( int i = 0; i < ivec.size(); ++i )        cout <<ivec[i] <<" ";   cout <<endl;}


[解决办法]
C/C++ code
#include <iostream>#include <vector>#include <string>using namespace std;int main(){   vector<int> ivec;   int num;   string str;   while( cin >>num )  {     ivec.push_back(num);   }   cin.clear();   //将流置为有效状态   cin >>str;          //为什么等不到输入str就结束了呢?   cout <<str <<endl;   for( int i = 0; i < ivec.size(); ++i )        cout <<ivec[i] <<" ";   cout <<endl;}
[解决办法]
结束了?请问while循环怎么出来的啊?跳出条件是cin>>num错误?
[解决办法]
可能缓冲区里面之前有东西,cin就直接读出来了, cin.clear();就是清空缓冲区

读书人网 >C语言

热点推荐