为什么它只收到 1 个整数?
Why does it receive only 1 integer?
为什么这个只接收一个整数?
这是代码:
#include <iostream>
int main () {
int num1,num2,num3;
std::cin>>num1,num2,num3;
return 0;
}
根据Operator Precedence, comma operator的优先级低于operator>>
,所以std::cin>>num1,num2,num3;
等同于(std::cin>>num1), num2, num3;
;以下 num2, num3
实际上什么都不做。 (更确切地说,先计算 std::cin>>num1
并丢弃其结果;然后计算 num2
,最后计算 num3
,其值是整个逗号表达式的结果。)
你想要的应该是std::cin >> num1 >> num2 >> num3;
.
这不是正确的语法。这是逗号运算符的应用。你想要
std::cin >> num1 >> num2 >> num3;
为什么这个只接收一个整数?
这是代码:
#include <iostream>
int main () {
int num1,num2,num3;
std::cin>>num1,num2,num3;
return 0;
}
根据Operator Precedence, comma operator的优先级低于operator>>
,所以std::cin>>num1,num2,num3;
等同于(std::cin>>num1), num2, num3;
;以下 num2, num3
实际上什么都不做。 (更确切地说,先计算 std::cin>>num1
并丢弃其结果;然后计算 num2
,最后计算 num3
,其值是整个逗号表达式的结果。)
你想要的应该是std::cin >> num1 >> num2 >> num3;
.
这不是正确的语法。这是逗号运算符的应用。你想要
std::cin >> num1 >> num2 >> num3;