可能重复:
C++ 逗号运算符
C 逗号运算符的使用
我对 C++ 并不陌生,但这是我第一次看到以下代码:
int a=0;
int b=(a=2,a+1);
那是C++代码。你能告诉我这里发生了什么吗?以及变量 b 如何获得值 3?
可能重复:
C++ 逗号运算符
C 逗号运算符的使用
我对 C++ 并不陌生,但这是我第一次看到以下代码:
int a=0;
int b=(a=2,a+1);
那是C++代码。你能告诉我这里发生了什么吗?以及变量 b 如何获得值 3?
这段代码等价于:
int a = 2 ;
int b = a + 1 ;
对逗号左侧的第一个表达式求值,然后是其右侧的表达式。最右边表达式的结果存储在=
符号左边的变量中。
查找逗号运算符以获取更多详细信息。
(a = 2, a + 1);
return 3 因为在一般情况下,运算符 (a, b) 返回 b,并且 (a, b) 中的计算从右到左开始。因此,在您的情况下,(a = 2, a + 1)
returna + 1
和 after 运算符a = 2
执行后a + 1
返回 3。