第1个回答 2010-01-06
(a+2,c+2)这个为逗号表达式
逗号表达式从左向右执行,最后一个执行的结果作为逗号表达式的返回值
即c+2的结果为逗号表达式的返回值,所以最后输出的是c+2的值本回答被提问者采纳
第2个回答 2020-02-06
逗号运算符是依次以从左到右的结合顺序进行运算,然后取最右边算式的值作为返回值。因此这个表达式的计算流程是:由于有括号运算符所以先对其进行运算,逗号运算符从左到右先计算k=3*2,此时k=6;然后计算k+4,此时k=10,返回;这里又有一个逗号运算符,由于左边算式已经计算完毕因此继续计算右边k+2,并作为(k=3*2,k+4),k+2这个表达式的返回值,值为12。同样,由于最后对k进行+2运算因此k的最终值也为12
第3个回答 2019-03-24
逗号表达式运算机制:从左往右分元子计算,以最后一个元子的值作为整个表达式的值。
如y=(x=a+b),(b+c)中的逗号表达式(x=a+b),(b+c)有2个元子,分别为1:(x=a+b)和2:(b+c)。
先计算1得到(x=6),元子1的值为6,此时X值为6;
再计算2得到10,元子2的值为10;
将元子2的值传给y,传到y=10.
y=(x=a+b),(b+c);改为y=((x=a+b),(b+c));
两种表述意义一致,因为逗号表达式本身是一个完整的表达式串,加再多层括号也一样。这句话等价于
x=a+b;
y=b+c;
第4个回答 2019-08-09
C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:
3+5,6+8
称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为
表达式1,表达式2
逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5,6+8”的值为14。
所以y=(x=a+b),(b+c)
y值为6
,y=((x=a+b),(b+c))
y值为10