值1.0e + 1的类型是什么

Shi*_*wal 1 c floating-point

1.0e+1返回float值还是int值?

当我打印1.0e+1它时,10但是当我这样做时,sizeof(1.0e+1)它给了我8.

Sou*_*osh 6

1.0e+1返回float值还是int值?

答:没有.正如它所写,它代表了一个double.

Nitpick:我们使用术语代表而不是返回

我觉得你很困惑.IHMO,您需要了解转换说明符的正确用法.

  1. 打印浮动,你需要使用 %f
  2. 要打印sizeof输出,需要使用%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.