C++ 这里如何使用逗号运算符?
可能重复:C++ 这里如何使用逗号运算符?,c++,comma-operator,C++,Comma Operator,可能重复: 我不是C++新手,但这是我第一次看到下面的代码: int a=0; int b=(a=2,a+1); 这是C++代码。你能告诉我这是怎么回事吗?变量b是如何得到值3的?此代码相当于: int a = 2 ; int b = a + 1 ; 首先计算逗号左侧的表达式,然后计算其右侧的表达式。最右边表达式的结果存储在=符号左侧的变量中 有关详细信息,请查阅逗号运算符 (a=2,a+1)返回3,因为在一般情况下,运算符(a,b)返回b,并且(a,b)中的计算从右向左开始。因此,在
我不是C++新手,但这是我第一次看到下面的代码:
int a=0;
int b=(a=2,a+1);
这是C++代码。你能告诉我这是怎么回事吗?变量b是如何得到值3的?
此代码相当于:int a = 2 ;
int b = a + 1 ;
首先计算逗号左侧的表达式,然后计算其右侧的表达式。最右边表达式的结果存储在=
符号左侧的变量中
有关详细信息,请查阅逗号运算符
(a=2,a+1)代码>返回3,因为在一般情况下,运算符(a,b)返回b,并且(a,b)中的计算从右向左开始。因此,在您的情况下,(a=2,a+1)
返回a+1
,并在执行运算符a=2
后返回3 不要写那样的代码读起来很可怕,这就是我看到的代码。你所说的可怕的阅读是什么意思?你的意思是在这种情况下不使用逗号运算符还是什么?@seeker-如果我们要问代码的作用,那就是可怕的代码。你确定吗?我认为代码相当于intb=a=2;int b=a+1代码>注意细微的差别