C语言运行是怎样运行不会看

#include“stdio.h"

main()

{

int a=-1,b=4,k;

k=(a<=0)&&(!(b<=0));

printf("%d",k);

}

意思就是a=-1;b=4;现在要把(a<=0)&&(!(b<=0))这样一个关系表达式赋值给k;那么研究一下这个表达式:
a<=0是**真**的,因为a=-1<=0; b<=0是假的,因为b=4>0; 但是!(b<=0)是真的,因为!表示逻辑非,所以取相反。
然后总结 【a<=0是真的】 【!(b<=0)是真的】,两个求&&【逻辑与】就是真的,所以最终是真的,给到k上面就是1;
所以最后打印了一个1
多谢@刘不刘 同学提醒,刚才看错数字了