为什么它只收到1个整数?

时间:2018-01-18 01:58:49

标签: c++ operator-precedence comma-operator

为什么只接收一个整数?
这是代码:

#include <iostream>

int main () {
    int num1,num2,num3;
    std::cin>>num1,num2,num3;

    return 0;
}

2 个答案:

答案 0 :(得分:6)

根据Operator Precedencecomma operator的优先级低于operator>>,因此std::cin>>num1,num2,num3;(std::cin>>num1), num2, num3;相同;以下num2, num3实际上什么都不做。 (更准确地说,首先评估std::cin>>num1并丢弃其结果;然后评估num2,最后评估num3,其值是整个逗号表达式的结果。)< / p>

你想要的是std::cin >> num1 >> num2 >> num3;

答案 1 :(得分:0)

这不是正确的语法。这是逗号运算符的应用程序。你想要

std::cin >> num1 >> num2 >> num3; 
相关问题