作业帮 > 综合 > 作业

C语言中定义int a=1 ,x ; 逗号表达式(x=a++,x=a--);的值是多少的?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 19:40:34
C语言中定义int a=1 ,x ; 逗号表达式(x=a++,x=a--);的值是多少的?
x=a++,先把a的值赋给x后a+1,所以x=1,a=2,然后x=a--,也就是把a赋给x,所以x=2,a再自减a=1
逗号表达式的值是最右边的表达式的值,所以逗号表达式的值是x=2(没有a=1)
再问: x=a--;这个式子不是可以分成两个式子:x=a;a=a 1;那就是说最后运行的是a=a 1;式子,那么就应该是a=a 1;结果作为逗号表达式的值。我这样理解错在哪?
再答: 的确可以拆分,但是拆分后一条表达式就变成两条表达式了,这就是区别 你的理解错误在于:逗号表达式里x=a--这是一条表达式,你拆分之后x=2,a=1,但是a=1是不包含在逗号表达式中的,拆开后就是(x=a++,x=a);a--;