本人跨专业学习计算机专业,新入门的,各位能不 帮我解释一下,为啥第二行出来结果为8,还要再执行一次z--呢?
第二行 z=8,不是就应该赋值给a,得结果吗?
因为z--是这行表达式执行完后再执行的,所以z=8后,还会执行z--
相当于
z = (--y/++x) * z;
z = z-1;
a = z;
先是--y,得到24,然后++x,得到24/5=4,然后4*z=8,8再-1=7,因为z--=是先取到z的值再-
首先 是 前 ++优先级高 进行 前 ++操作
所以/优先级再后。小括号里面的东西是先++再/
然后后面的 后++的是先进行操作后赋值