float 型与int 型在运算时,都为自动变为double 型

float 型与int 型在运算时,都为自动变为double 型
但是

 int a  = 1;
 float b = 1.0;
 printf("%d",sizeof(a+b))

为什么得到4,不应该是double 型大小 8 吗?

类型应该是float才对呀

汉,谁说的这种理论啊

怎么会变成double,这里既没有强制转换,有没有隐式转换,自然还是float ,如果不懂,复习基础