设x,y,z,s均为int型变量,且初值为1,则执行语句s=++x||++y&&++z后,s的值是?

对与a++这类的问题很是不解,还有个各种运算符的顺序
2025-01-07 23:59:44
推荐回答(1个)
回答1:

最后s的值是1.

s=++x||++y&&++z 这一句中,运算符优先级顺序为:++最高,其次是&&,然后是||,最后是=

该句完全等价于:

++x;
if (x!=0)
s=1;
else
{
++y;
if (y!=0)
{
++z;
if (z!=0)
s=1;
else
s=0;
}
else
s=0;

}

详细说明可参考
http://zhidao.baidu.com/question/87507017.html