C语言中计算逗号表达式c=(a=7,b=a+2,b+1),并且输出a,b,c的值是什么意 ...
b+1=10 所以a=7,b=9,c=10
C语言中逗号表达式的问题
逗号表达式的运算级最低,比赋值运算符级别还低。所以 y=(x=a+b),(b+c);先算x=a+b=6,再y=x=6;而后面的b+c不影响x和y的值。所以最终x,y的值都是6.只不过 y=(x=a+b),(b+c);这整个式子的值是b+c=10而已。如果是y=((x=a+b),(b+c)); 那么才结果是x=6,y=b+c=10...
C语言中逗号运算符怎么用?
假设b=2,c=7,d=5,a1=(++b,c--,d+3);a2=++b,c--,d+3;对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a1=8。对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运...
C语言中逗号表达试是什么?
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。(3) 逗号运算符的优先级别在所有运算符中最低。例如:(a = 3,b = 5,b+ = a,c = b* 5)前两个表达式只是赋值,从第三个开始计算,b+=a,即b=b+a...
c语言逗号表达式怎么算的?
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。(3) 逗号运算符的优先级别在所有运算符中最低。举个例子:int a1,a2,b=2,c=7,d=5; \/\/ 第1行 a1=(++b,c--,d+3); \/\/ 第2行 a2=++b,c--,d+3...
c语言逗号表达式的问题
逗号运算符的做优先级是最低的,所以要先算赋值运算符.y=(x=a+b),(b+c)是一个表达式,包括两部分:表达式1是一个赋值表达式,表达式2是一个算术表达式.老谭的书里说的是整个逗号表达式的值是表达式2的值,所以,整个逗号表达式的值是b+c,y的值是表达式1的值,即a+b.他写错了.这样写就对了y=(...
C语言——关于逗号表达式的问题
如果是((x=a+b),(b+c))实际上可以看成(6,10)整个逗号表达式的值应该是10 但这是错的,这儿还有赋值运算符。赋值运算符的优先级是14,而逗号表达式的优先级是15,也就是说上面的表达式中 y=(x=a+b),(b+c);应该等价于这样的结合:y=x,10;如果这样写的话,则答案很清晰,为:6 提示...
C语言中c=(a+b,a++,b+1);什么意思
1、赋值语句本身也是一个表达式,也是有返回值的,它的返回值就是赋值给变量的值,比如b=1这个语句,会把1赋值给b,但是它本身也是个表达式,这个表达式的返回值为1。2、赋值语句是先算等号右边的值,把右边的值赋值给左边的变量 3、分析一下a=b=c,按照赋值语句的运算方式,计算右边的表达式,也...
c语言中逗号表达式的运算规则
逗号表达式,是c语言中的逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14;a=(a=3*5,a*4...
C语言 逗号表达式
= (a,c,d,e),这里面比如acde这四个变量都进行了初始化,那么这个表达式的计算过程就是从a开始,一直到e,只看最后一个逗号后的变量的值,该值就是此表达式的值,所以这个表达式b应该等于e,,,这你也就不难理解你说的那两个表达式为什么结果不一样了。。y=(x=a+b),(b+c)这个表达式因为...