C语言 int c=5和int a; a=2+(c+=c,c+8,++c), 则a=? 计算过程和结果是怎样的?
1个回答
2011-12-21
展开全部
(c+=c,c+8,++c),这个是逗号表达式,记住逗号表达式的两个特点:
1. 逗号表达式从左向右运算
2. 逗号表达式的值等于最右值
所以:
(c+=c,c+8,++c)运算顺序为:
c+=c,也就是c=c+c=5+5=10
c+8,这个加法表达式不影响c的值,运算结果为10+8=18
++c,c自增1,c=c+1=10+1=11
所以(c+=c,c+8,++c)也就等于(10,18,11),该表达式的值为11
a=2+(c+=c,c+8,++c)=2+11=13
1. 逗号表达式从左向右运算
2. 逗号表达式的值等于最右值
所以:
(c+=c,c+8,++c)运算顺序为:
c+=c,也就是c=c+c=5+5=10
c+8,这个加法表达式不影响c的值,运算结果为10+8=18
++c,c自增1,c=c+1=10+1=11
所以(c+=c,c+8,++c)也就等于(10,18,11),该表达式的值为11
a=2+(c+=c,c+8,++c)=2+11=13
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询