C++ 我不明白这个--intx=0;int y=2;int z=(+;+;x,+;+;y);
我得到z是3,因为值取自++y,但为什么选择++y?它被称为C++ 我不明白这个--intx=0;int y=2;int z=(+;+;x,+;+;y);,c++,C++,我得到z是3,因为值取自++y,但为什么选择++y?它被称为逗号运算符。它计算++x(现在x是1),然后计算++y(现在y是3),并将y的值赋给z`` “``逗号运算符从左到右分组。 §5.18 由逗号分隔的一对表达式从左到右求值,并丢弃左表达式的值 因为(++x,+++y)首先计算++x,然后计算++y,最后计算的内容将返回并分配给z 这将使用。等价物为: int x = 0; int y = 2; int z = (++x, ++y); int x = 0; int y = 2;
逗号运算符。它计算++x
(现在x是1),然后计算++y
(现在y是3),并将y的值赋给z``
“``逗号运算符从左到右分组。
§5.18
由逗号分隔的一对表达式从左到右求值,并丢弃左表达式的值
因为(++x,+++y)首先计算++x
,然后计算++y
,最后计算的内容将返回并分配给z
这将使用。等价物为:
int x = 0;
int y = 2;
int z = (++x, ++y);
int x = 0;
int y = 2;
++x; // or x = x + 1;
++y; // or y = y + 1;
int z = y;