float f=124.50;
cout<<sizeof(f);
cout<<sizeof(124.50);
这两个语句给出了不同的结果。但适用于int和char。为什么浮动差异?sizeof运算符为浮点数提供了不同的结果
float f=124.50;
cout<<sizeof(f);
cout<<sizeof(124.50);
这两个语句给出了不同的结果。但适用于int和char。为什么浮动差异?sizeof运算符为浮点数提供了不同的结果
124.50
是floating point literal,它产生double
而不是float
。你需要一个f
后缀产生float
:
sizeof(124.5f)
将等于sizeof(f)
。在'我的意见'中,'这'很'容易'来'读'。 '但是'别人'可能'不同意 – Michael
''''''''''''''''''''' –
在cout<<sizeof(124.50);
,124.50
不是float
。它floating point literal它有double
类型。除非指定后缀,否则所有浮点文字都是double
。
因为124.50是双精度 默认情况下,文字常量是双精度,除非您将其定义为float:124.3F。
打印4.
std::cout << sizeof(123.4F);
因为'124.50'是一个'double'。 – WhozCraig
124.50是一个双。试试124.50f。 – Michael
'sizeof(124.50f)'是你所追求的。 –