C语言中赋值表达式d=(9+e,f=d+9)括号有什么用?这个表达式又是什么意思?

如题所述

如果没有括号的话,那么d的值就是9+e的结果,
加了括号就改变了运算的顺序,这样的话其实9+e就没有意义了,表达式的意思就是先把d+9的值赋给f,然后把f的值赋给d,
等价于d=f=d+9
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-19
括号中间的逗号是一个逗号运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60。
这句话的意思是将(9+e,f=d+9)这个逗号表达式的值赋值给d。而逗号表达式的值为表达式最右边的值,即将d+9的值赋给d。追问

十分感谢

第2个回答  2013-11-19
表达式的意思是,先计算9+e的值,算完计算f=d+9的值,算完以后把f的值赋给d。逗号表达式的作用是依次从左往右计算,取最右边的值。追问

多谢

相似回答
大家正在搜