C语言分支结构的题,很想知道为什么

问题遇到的现象和发生背景 设有如下声明和语句:
                                                       int x=2,b=3,c=2;
                                                       scanf("%d",&y);
                                                       y=z--||scanf("%d,&z)&&x++;

该程序段执行时,若从键盘上输入的数据是4 3,则变量z的值为_。

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法 :我知道要先算算术运算符,然后我是继续去算逻辑运算符去了。
我想要达到的结果:我想知道这个具体是怎么运算,为什么我问同学,同学说的是z自减完之后就得出来了。

逻辑运算符有短路运算,比如或运算符||左边操作数已经是真的话,就没必要继续计算右边的操作数,||运算符的结果肯定是真。同样如果&&左边操作数是假的话,也没必要继续计算右边的操作数,&&运算符的结果肯定是假