鱼C论坛

 找回密码
 立即注册
查看: 3239|回复: 3

利用VC++6.0编译sizeof(long double)为什么结果还是8?

[复制链接]
发表于 2017-7-29 20:31:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
源代码如下:
#include<stdio.h>
void main()
{
        printf("int:%d\n",sizeof(int));
        printf("short int:%d\n",sizeof(short int));
        printf("long int:%d\n",sizeof(long int));
//        printf("long long int:%d",sizeof(long long));
        printf("float:%d\n",sizeof(float));
        printf("double:%d\n",sizeof(double));
        printf("long double:%d\n",sizeof(long double));
        printf("char:%d\n",sizeof(char));
//        printf("_Bool:%d",sizeof(_Bool));
}

我用的VC++6.0编译器,其中 long long int和_Bool还报错。。。。
long double为什么是8啊??和double一样了。
我去拿VS试试吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-29 21:24:15 | 显示全部楼层
http://blog.csdn.net/txl199106/article/details/38616235
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-30 08:04:59 | 显示全部楼层
long long int和_Bool是C99新增的,有些编译器没更新C99标准是会报错的。
long double:未规定long double的确切精度,对于不同平台有不同的长度。long double的精度大于或等于double的精度
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-3 14:41:01 | 显示全部楼层
在VC6.0  里面规定了,long double = double 的,long = int
你可以看看,而且应该在小甲鱼视频数据类型里面讲过C++,包括C并没有规定固定的内存字节,只是规定了
short<=int <= long <= long long
浮点型类似
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-30 15:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表