作业帮 > 综合 > 作业

设 int a=10则printf(“%d”,(a=a+10,a=a+100,a))的输出是

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 03:48:26
设 int a=10则printf(“%d”,(a=a+10,a=a+100,a))的输出是
正确答案是120,我想知道为什么不是10
已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值,表达式d=(a++,--b,b--,--c,c--);,和这题的区别是什么
printf("%d",(a = a + 10,a= a + 100,a));
先算(a = a + 10,a= a + 100,a)中的a = a + 10 ,a变成了20
再算a = a + 100,a变成了120
再算a,a还是a120
所以打印120了
因为是逗号表达式,所以
(a = a + 10,a= a + 100,a),分解为a = a + 10,a = a + 100,a
最终的结果要取最后的那个值 ,就是a