double d1=1.2,d2=1.5; d1=d1++ +d2--; printf("%.2lf,%.2lf\n",d1,d2); d1=3.70,d2=0.50为什么?

问题描述:

double d1=1.2,d2=1.5; d1=d1++ +d2--; printf("%.2lf,%.2lf\n",d1,d2); d1=3.70,d2=0.50为什么?

建议你好好看看前自增与后自增的区别所在.
d1=d1++ +d2--;这算是一个表达.分号结束之前的都算成一个表达式.像这样 d2 = d1 ++ , d1 = d2 ++; 都算是一个表达式,并不是两个表达式.为什么输出那样的结果?