一道关于C语言的题 应该很简单的

来源:百度知道 编辑:UC知道 时间:2024/07/02 07:35:10
求程序的运行结果
int x=2 y=3 z=1(“%d %d\n”,(x++,y++),z+2);

麻烦给讲解下
谢谢呀

答案是3 3
括号中的(x++,y++)是两个值,
但是加上了括号,编译器就会取后一个值作为取值
也就是y++,由于+号在y的后面,就意味着先操作,后加
也就是说先把y输出,再把y加1,于是输出的就是y原来的值3
而后一个值z+2就不用多说了,z=1,加2后输出3
所以答案是3 3

是3和3

这是完整的么?
int x=2,y=3,z=1;定义整型的x,y,z并分别赋值,
printf("%d%d\n",(x++,y++),z+2);
输出y++和z+2的值

逗号运算符的结果只取最后一个!