关于语言c的基本简单问题

来源:百度知道 编辑:UC知道 时间:2024/09/24 04:18:45
#include<stdio.h>
main()
{ int x=3,y=3,z=1;
printf("%d%d\n",(++x,y++),z+2);
}
答案是 33但我不知道是为什么 ,最不明白的是(++x,y++)为什么只输出一个数?
希望高手能把详细步骤讲下 谢谢了

(++x,y++)这个是逗号表达式,
逗号表达式的值是逗号右侧表达式的值。

所以,
printf("%d%d\n",(++x,y++),z+2);
等于
printf("%d%d\n",y++,z+2);

又由于y++是先代入处理后进行++运算,所以输出33