Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 变量赋值和逗号运算符_C++_C_Visual C++ - Fatal编程技术网

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-你应该接受这个答案,因为它对你有帮助,而且它是正确的。