我有这样的问题: 以下哪个是变量的正确数据类型,如下所示:
a = 23.5
a) float
b) double
c) long double
d) None
据我说,它应该是双倍的。因为,如果我们
float a = 23.5
然后,实际上,我们正在用double常量初始化float变量。我是对的说它是选项b吗?
答案 0 :(得分:5)
这取决于a
在程序逻辑中所需的类型,而不是它初始化的值的类型。
是的,float a = 23.5;
,有double
文字23.5
到float
变量a
的转换,但没关系。例如,要将double
变量初始化为42.0
,人们通常会使用
double a = 42;
其中42
的类型为int
,而不是更长的
double a = 42.0;
所以在我看来,float
,double
或long double
在这里都可以被认为是正确的。
答案 1 :(得分:1)
您可以将此变量声明为double,float或long double。
区别在于类型的范围。
例如(一种可能的方式):
float- 4 bytes
double - 8 bytes
long double - 12 bytes
您可以在此处查看更多详细信息:http://www.lix.polytechnique.fr/~liberti/public/computing/prog/c/C/CONCEPT/data_types.html
答案 2 :(得分:0)
"这取决于"是正确的答案。
你提到的三个选项还有更多选择。