int x=2,y=0;则表达式(y=0)?x/++y:x-2的运算结果是什么?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/05 18:42:16
intx=2,y=0;则表达式(y=0)?x/++y:x-2的运算结果是什么?intx=2,y=0;则表达式(y=0)?x/++y:x-2的运算结果是什么?intx=2,y=0;则表达式(y=0)?x

int x=2,y=0;则表达式(y=0)?x/++y:x-2的运算结果是什么?
int x=2,y=0;则表达式(y=0)?x/++y:x-2的运算结果是什么?

int x=2,y=0;则表达式(y=0)?x/++y:x-2的运算结果是什么?
运算结果为:0
(y=0)?x/++y:x-2
这个三元运算表达式按照运算符优先级解析结果如下:
判断y=0的返回值:
返回值为1,整个表达式的值为:++y
返回值为0,整个表达式的值为:x-2
注意是y=0,不是y==0,
y=0是一个赋值表达式,其返回值等于右值,也就是y被赋值为多少,返回值就是多少
所以y=0的返回值为0
整个表达式的值为:x-2
由于x=2,所以整个表达式的值为0