设,x,y,z,t均为int型变量,则执行一下语句后,t的值为 x=y=z=1; t=++x||++y&&++z; 求详细解答!
展开全部
x=y=z=1; \\执行后x,y,z的值都为1
t=++x||++y&&++z;
\\如果按优先级加上括号就是(++x) || ( (++y) && (++z) );
\\先算++x,++y,++z 结果表达式将变成 2 || (2 && 2)
\\后面就不用再说了吧 结果一定是
t=1
x=2
y=2
z=2
t=++x||++y&&++z;
\\如果按优先级加上括号就是(++x) || ( (++y) && (++z) );
\\先算++x,++y,++z 结果表达式将变成 2 || (2 && 2)
\\后面就不用再说了吧 结果一定是
t=1
x=2
y=2
z=2
追问
为什么t=1 ++x的赋值 不是应该赋值给t的吗
追答
不是 t后面是赋值运算符 他的优先级是最低的 赋值运算符后面是表达式 结果只能1跟0
结果确实是
x=2
y=1
z=1
t=1
是我说错了 在++x为真的情况下 整个表达式都是真了 也就是1 后面的已经不需要再执行了
我也没想过误导楼主 错了就说错了 干嘛说我误导 我来这里也是想学习的 你说这个有点过了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询