其实就是有效位数不一样。
浮点型变量分为单精度(float)、双精度(double)和长双精度(long double)3类。在Turbo C 中:
比特(位)数
有效数字
float
32
6-7
double
64
15-16
long double 128
18-19
长整型和短整型 两者所分配的内存的大小不同,因此有着不同的取值范围。short int的长度是2字节,所以它所能表达的范围在2的15次方减1到负的2的15次方。如果一个整数超过2的15次方,也就是32768就会溢出而变成复数。int的长度是4字节,所以当值超过2的31次方减1,也就是21亿5千万的时候才会溢出,能表达的范围就比short要宽。long int的长度是8字节,所以它可以表达至2的63次方减1,也就是9.22乘以10的18次方。当然,前提是你不是用Windows系统,在Windows下长整型和整型没有区别,都是4字节,在其他平台,如Linux或Mac下才是8字节,这点和Java不同
所以个人觉得4个答案都可以