是
1.0e+1返回float值还是int值?
答:没有.正如它所写,它代表了一个double.
Nitpick:我们使用术语代表而不是返回
我觉得你很困惑.IHMO,您需要了解转换说明符的正确用法.
%fsizeof输出,需要使用%zu也就是说,打印 1.0e+1意味着打印该值,而sizeof(1.0e+1)实质上是sizeof(double)因为浮点字面值默认为a double.
相关的,来自C11标准的第6.4.4.2章
未填充的浮点常量具有类型
double.如果用字母后缀f或者F,它已经输入float.如果以字母"l"为后缀L,则表示类型long double.