首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

对cin的不解,一段小代码,搞不明白啊解决办法

2012-02-17 
对cin的不解,一段小代码,搞不明白啊编译运行了一段小代码,如下:#includeiostreamintmain(){intsum0,val

对cin的不解,一段小代码,搞不明白啊
编译运行了一段小代码,如下:
#include   <iostream>
int   main()
{
        int   sum   =   0,   value;
        while(std::cin   > >   value)
                sum   +=   value;
        std::cout   < <   "Sum   is   "   < <   sum   < <   std::endl;
        char   var;
        std::cin   > >   var;
        while(var   !=   'q ')
                  std::cin   > >   var;
        return   0;
}

手工输入     1   2   w
输出       Sum   is   3
光标移至下一行,然后无法输入任何字符
在第二个while循环体中,用cout输出var值,
发现程序在不停输出“|”,死循环。
迷惑中,请各位解释一下,谢谢。

[解决办法]
把程序加上

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

就好了

热点排行