c语言中是什么意思printf("%d%d\n",(++x,y++),z+2);

如题所述

(++x,y++) 这叫逗号表达式,里面含2个表达式,表达式的最终值用最后一个表达式的结果。

假定 int x=10,y=1,z=1;
++x 前缀加,x 变 11
y++ 后缀加, y 现在不变化,等退出这句再增 1,所以 y=1;
逗号表达式的最终值 用最后一个表达式的结果, 就是 1。

printf("%d 打出的第一个结果值是 1
printf("%d%d\n",(++x,y++),z+2);
打出的第2个结果是 z+2,等于 3。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-19
++x是先+,在返回X的值,也就是说这时的x已经加过1了
而y++,则是先返回y,在进行运算
相似回答