C++中float i=3.14;本应该是double类型,但是sizeof(i)测出来为什么是4字节而不是8字节

C++中float i=3.14;本应该是double类型,但是sizeof(i)测出来为什么是4字节而不是8字节
#include
using namespace std;
int main()
{
float i = 3.14;
cout << sizeof(i) << endl;
}
输出:4

c++

3个回答

我明白了,3.14是double类型,但是i 是float类型。

qtchen_1988
qtchen_1988 3.14是double类型,你认为这句话是对的,你为什么不百度一下或者听取别人的意见,非要认为这句话是对的。
11 个月之前 回复
dabocaiqq
穷在人世中少你左右我想我连什么价值也没有 自己采纳自己,非常无耻的人
11 个月之前 回复

因为你记错了,float就是4字节

u010626906
gg思无邪 回复咩咩咩~: 数据类型就是一种单位,short int性就是只能量整数长度的尺子,总长是2byte。float是一个能量小数的尺子,总长是4。这些基本的概念你理解理解吧,数据是数据,数据类型是数据类型,需要根据数据,去选择合适的数据类型
11 个月之前 回复
u010626906
gg思无邪 回复咩咩咩~: 不,你没明白。3.14就是3.14,它就是一个数,根本就无所谓是double还是float。这两种类型都能表示它。
11 个月之前 回复
qq_44135152
咩咩咩~ 我明白了,3.14是double类型,但是i 是float类型。我之前被教材搞混了,谢谢啦
11 个月之前 回复

你所定义的float i=3.14就已经使得i的数据类型为float,而float的长度为4,所以sizeof(i)=4;同时double的长度为8,如果将i定义为double,则sizeof(i)=8

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐