x=y=5; t=--x|| --y; 后,y的值是.t的值是 为什么?
y=5,t=1
主要知道2点
1、运算符优先级,赋值=号优先级比||低,所以先计算--x|| --y,再把结果0或1给t
2、短路问题--x|| --y中--x是4,非0及真,后面的--y就不执行了。
y-4,t-4,都是减过1
减号在前,是先进行减操作,减号在后相反
y=5, t=4, 先做--x,得 x=4, 或判断左侧为真,不继续右边运算
y=5, t=4, 先做--x,得 x=4, 或判断左侧为真,不继续右边运算
y=5, t=4, 先做--x,得 x=4, 或判断左侧为真,不继续右边运算
很明显楼下是错误的。正确结果应该是x=4,y=5,t=1。
y=5,t=1
运算符优先级的问题,赋值运算优先级比或运算(||)优先级低,所以先计算后面的,再把逻辑运算结果0或1赋值给t。
TZ该去学习运算优先级哦
这个主要是看 -- 与 || 优先级。t =0 ;x=y=4;