includestdio.hmaini

2021-01-12 11:40:26 字数 716 阅读 7770

1楼:巴扎嘿

输出的值分别是(++x,y++)和z+2

(++x,y++)这个是一个逗号表达式,返回值为最右边表达式的值。所以返回的值为y。

z+2就是3

所以输出为3 3

这个主要考的是逗号表达式返回值

有段c语言程序、求输出结果:main()int y=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);求运行结果,多谢

2楼:杨兵

答案是:3 3

输出的值y++和z+2两个数的值

其中(++x,y++)只能输出一个值作为%d输出,(++x,y++)中包含“,”运算符,它的运算规律是从左至右执行,所以输出的值只能为y(值为3),然后再进行y++运算

下一个%d的值为z+2(值为3)

运行结果为:3 3

楼主可以在编译环境中试一下下面的程序,就知道答案的正确性了:

#include

void main()

3楼:匿名用户

3**rintf("%d%d\n",(++x,y++),z+2);

第一个%d输出时,是(++x,y++)的值,里面有个逗号,逗号是输出最右边的,所以应该是输出y++;y++时,先取再加,就是先输出y,再自增1,所以第一个输出3

第二个就容易了,就是输出z+2,也就是3