C++ 变量赋值和逗号运算符
谁能为我解释一下:C++ 变量赋值和逗号运算符,c++,c,visual-c++,C++,C,Visual C++,谁能为我解释一下: int a, b, c, d; a = 2; b = 4; c = a, b; d = (a, b); 为什么c==2和d==4?这两个语句的计算结果都是 c = a; d = b; 由于逗号运算符(它具有任何操作符的最低优先级)在C和C++中工作。< /P> 对于第一个操作符,首先计算c=a(因为=的优先级高于逗号运算符),然后计算b(这是一个no-op)。整个表达式有一个值b,但没有分配给任何对象 对于d=(a,b),(a,b)由于括号的缘故首先被计算。这有一个值b,
int a, b, c, d;
a = 2;
b = 4;
c = a, b;
d = (a, b);
为什么
c==2
和d==4
?这两个语句的计算结果都是
c = a;
d = b;
由于逗号运算符(它具有任何操作符的最低优先级)在C和C++中工作。< /P> 对于第一个操作符,首先计算
c=a
(因为=
的优先级高于逗号运算符),然后计算b
(这是一个no-op)。整个表达式有一个值b
,但没有分配给任何对象
对于
d=(a,b)代码>,(a,b)
由于括号的缘故首先被计算。这有一个值b
,分配给d
不要发布代码并生成图像,这是一个PITA,可以在移动设备上查看,也可以在编译器中尝试代码-1直到你修复它。好的,对此非常抱歉。否决票被撤回。@Trầ新罕布什尔州ồngPhát-你应该接受这个答案,因为它对你有帮助,而且它是正确的。