huijun 发表于 2022-8-23 21:27:11

大佬们帮我看看

大佬们好
我按照书上的运算后的结果和上的不一致

#include<stdio.h>

int main(void)

{
        printf("int=%d\n", sizeof(int));
        printf("shourt int=%d\n", sizeof(short));
        printf("long int=%d\n", sizeof(long));
        printf("long long int=%d\n", sizeof(long long));
        printf("char=%d\n", sizeof(char));
        printf("_Bool=%d\n", sizeof(_Bool));
        printf("float=%d\n", sizeof(float));
        printf("double=%d\n", sizeof(double));
        printf("long double=%d\n", sizeof(long double));
       
        return 0;
}

long double

书上的结果是12
我的结果是8

临时号 发表于 2022-8-23 21:32:59

long double每个平台的大小不一样,很正常
https://blog.csdn.net/do2jiang/article/details/4548340?locationNum=3&fps=1

ExiaGN001 发表于 2022-8-26 23:19:49

本帖最后由 ExiaGN001 于 2022-8-26 23:21 编辑

现在x64架构的和以前x86架构的不一样。
这些表达式的值在x64和x86中有如下对应。
                x64        x86
int                 4        2
short         2        2
long                4        4
long long        8        8
char                1         1
bool                1        1
_Bool        1        1
float                4        2
double        8         4
long double16        8
页: [1]
查看完整版本: 大佬们帮我看看