3

这里对 C++ 有点新。是否可以执行以下操作?

int temp;
while(cin >> temp != -9999){//Do something with temp}

我无法让那个确切的代码工作,但我觉得这样的事情应该是可能的。

编辑 也尝试了以下方法:

while(cin.getline(temp) != -9999){//Do something with temp}

依然没有。getline()仅适用于字符串吗?

4

1 回答 1

6

是的,它确实:

while (std::cin >> temp && temp != -9999)

但是,C++ 中的运算符优先级很烦人,所以我会使用:

while (std::cin >> temp) {
    if (temp == -9999)
        break;

推理是那std::cin是一个流。因此,从中读取会返回流,因此您可以执行以下操作:

std::cin >> temp >> temp2;
于 2013-04-15T03:59:37.457 回答