无法在C ++中获得所需的结果

时间:2015-05-24 17:24:01

标签: c++ visual-c++

我正在使用此代码执行某些操作 -

// Initialize variables
double x;
...
// Here is where I'm facing problem
while (cin >> x){
    if (x == '|'){
        cout << "\nBreaking the loop\n"; // Edit1: Unable to produce output
        break;
    }
   // Do something
     ...
}

// Do some other things
cout << "\nAfter the loop";       // Edit1: This gets executed,
cin >> x;                         //        but this doesn't.
...
// End

但是,当我输入'|'时,窗口关闭甚至没有输出 - Breaking the loop并且在while循环之后不执行语句(我认为)。

我使用的是Visual C ++。

为什么会这样?有什么解决方案吗?

1 个答案:

答案 0 :(得分:0)

更改为使用char而不是double

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
 {
 char x;
 // Here is where I'm facing problem
 while (cin >> x){
    if (x == '|'){
        cout << "\nBreaking the loop\n";
        break;
    }
   // Do something
 }

 }