C ++:0和0.0之间的差异?
我很清楚0
和0.0
(int和double)之间的区别。
但是0.
和0.0
之间有什么区别(请注意。)?
非常感谢提前,
阿克塞尔
没有区别。 两个文字都是双倍的。 从C ++ – 语法:
fractional-constant: digit-sequenceopt . digit-sequence digit-sequence .
请参阅: 超链接C ++ BNF语法
不,那里没有。
不,你知道,你也可以写.0。
只是拥有.
作为数字的一部分,它将其标识为浮点类型。
这个:
cout << (5 / 2) << endl; cout << (5. / 2) << endl; cout << (5.0 / 2) << endl;
打印这个:
2 2.5 2.5
您可以看到第一行使用整数除法(因为两个值都是整数),而5.
和5.0
都被识别为浮点类型,因此它们触发“正常除法”。
0
的类型为int,但可以转换为double, 0.0
的类型为double,但可以转换为int。
两个演员都是隐含的。