1.0e+1返回afloat值还是int值?
当我打印1.0e+1时,它给出10,但当我打印sizeof(1.0e+1)时,它给出8

最佳答案

1.0e+1返回afloat值还是int值?
答:没有正如它所写的,它代表一个double
吹毛求疵:我们用“代表”这个词代替“回报”
我觉得你很困惑IHMO,您需要知道转换说明符的正确用法。
要打印浮动,您需要使用%f
要打印sizeof输出,您需要使用%zu
也就是说,打印1.0e+1意味着打印值,而,sizeof(1.0e+1)本质上是sizeof(double),因为默认情况下,浮点文字是adouble
相关,来自C11标准,第6.4.4.2章
未固定的浮点常量具有类型double。如果以字母fF作为后缀,则它具有float类型如果以字母“l或L作为后缀,则其类型为long double

关于c - 值1.0e + 1的类型是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30260830/

10-11 19:15