更正变量的数据类型

use*_*829 5 c

我有一个这样的问题:以下哪个是变量的正确数据类型,如下所示:

a = 23.5

a) float
b) double
c) long double
d) None
Run Code Online (Sandbox Code Playgroud)

据我说,它应该是双倍的.因为,如果我们

 float a = 23.5
Run Code Online (Sandbox Code Playgroud)

然后,实际上,我们用double常量初始化float变量.我是对的说它是选项b吗?

Yu *_*Hao 5

这取决于您a在程序逻辑中需要什么类型,而不是它初始化的值的类型.

是的,float a = 23.5;有从double文字23.5float变量的转换a,但没关系.例如,要将double变量初始化为42.0,人们通常会使用

double a = 42;
Run Code Online (Sandbox Code Playgroud)

其中42的类型int,而不是更长的

double a = 42.0;
Run Code Online (Sandbox Code Playgroud)

所以,在我看来,float,double,或long double都可以认为是正确的在这里.