如果我在函数
return 1.4
中编写一行代码,我和编译器都明白该函数返回 double 。
对我来说并不明显:返回类型可以是float,double或long double。编译器如何在3种类型之间进行选择?
答案 0 :(得分:3)
不,1.4
是double
。 float
写为1.4f
75 // int
75u // unsigned int
75l // long
75ul // unsigned long
75lu // unsigned long
3.14159L // long double
6.02e23f // float
答案 1 :(得分:3)
1.4
是一个double
字面值,而不是float
字面值1.4f
和long double
字面值1.4l
。
因此,编译器可以明确推断出类型。
答案 2 :(得分:2)
我猜你问的是auto
返回类型扣除,否则返回类型就是你声明的那种。
答案很简单:文字1.4
的类型为double
,而不是float
或long double
,因此会推断出double
。很简单。
答案 3 :(得分:1)
因为1.4(或任何其他浮点数)是double
。要使其成为float
,您需要撰写1.4f
,long double
为1.4L
。
答案 4 :(得分:1)
1.4 double ,任何简单的小数点都是 double 。
float 将为1.4f
long double 将为1.4L
1.4 // double
1.4f // float
1.4L // long double