为什么b运算后值为4?

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

#include<stdio.h>
int main()
{
int a=-1,b=4,k;
k=(++a<0)&&!(b--<0);
printf("%d \n",k,a,b);
return 0;
}

运行结果及报错内容

结果为004

我的解答思路和尝试过的方法
我想要达到的结果

&& 与操作 前面的++a<0已经是false了,所以不会计算 与&& 操作后面的表达式了,因为无论后面是什么结果都是false,所以b没有变化

(++a<0)是先a+1再判断,a=0判断为已经假,&&后面就不继续了,k=0,
所以结果是0,0,4