gpt4 book ai didi

c - sizeof 的功能

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:07 25 4
gpt4 key购买 nike

为什么会出现以下代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("Hello world!\n");
int x;
long l;
double d;
printf("\n%d",sizeof(x+l+d));
return 0;
}

在控制台 8 上打印?我最初认为会将 xl 转换为 double 并显示 24。为什么是 8?

最佳答案

sizeof 返回用于存储其参数的字节数。在本例中,它的参数是 x+l+dx 是一个intl 是一个longd 是一个。当您将整数类型添加到 double 时,结果会被提升为一个 double。所以你写的是 sizeof(double) 的等价物。 double 需要 8 个字节来存储,因此您看到的结果是 8

关于c - sizeof 的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28140171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com