谁可以解释一下吗!!!!!

请写出以下程序的输出结果()。
#include <stdio.h>
main()
{inta=100;
if(a>100)printf("%d\n",a>100);
else printf("%d\n",a<=100);
}

这个输出应该是1吧,而且无论a = 多少都是会输出1
这个是由于a<=100这个是个判断式,这个是有返回值的,如果这个判断式为真则返回1,否则返回0

a=100,a<=100为真,返回1,输出结果为1