若有定义:int m=5,n=3;则表达式(m+1,n+1,(--m)+(n--))的值 答案是5.

若有定义:int m=5,n=3;则表达式(m+1,n+1,(--m)+(n--))的值
答案是5.4.7 问题是为什么?

这是用两个逗号将三个表达式连成的一个逗号表达式。
计算该逗号表达式值时,从左至右逐一计算每个表达式的值。该逗号表达式的值是最后一个表达式的值,该表达式类型也是最后一个表达式的类型。所以这个表达式(m+1,n+1,(--m)+(n--)),m的最后的值(--m)之后m是4,n的值(n--)之后n还是3,所以m+1 的值是 5;n+1的值是4,(m+1,n+1,(--m)+(n--)) 最终的值应该是 5,4,7
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-21
这是因为那个自减符号——m是先将m减一,然后再来计算m+1,n+1,(--m)+(n--),而n--是先计算完之后,n再自减1.有一个顺序问题在这

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网