+ -
当前位置:首页 → 问答吧 → c++ 的一个简单问题~~~~~

c++ 的一个简单问题~~~~~

时间:2011-11-28

来源:互联网

C/C++ code

int a;
cin>>a;


就这两行代码,当要输入的时候,我输入个整数自然通过,可是我要是输字符呢?能把字符转化成整形数再赋给 a 吗?

还有C/C++ code
  
void main()
{
    while(1)
    {
        int a;
        cin>>a;
        if(a<0)
        {
            cout<<a<<endl;
        }
    }
}


第一次循环,我输入个字符给a ,然后执行后面的语句。等到第二次循环的,cin>>a这条语句直接跳过,为什么?

作者: a1sdf2   发布时间: 2011-11-28

不能,如果你输入字符那么cin的fail位被设置,那么再也不能输入了。

作者: pengzhixi   发布时间: 2011-11-28

int a;
  cin>>a;
  if(a<0)
  {
  cout<<a<<endl;
  }

//当输入不合法时,跳过cin>>a,数据会留在缓冲中,下一个循环再读缓冲中的数据时,又是不合法时,也跳过。

作者: mingliang1212   发布时间: 2011-11-28

加上这两句就ok了:

std::cin.clear();
std::cin.sync();

作者: mingliang1212   发布时间: 2011-11-28

反正我不会处理...

作者: qq120848369   发布时间: 2011-11-28

作者: mougaidong   发布时间: 2011-11-28

热门下载

更多