【发布时间】:2011-10-09 03:43:39
【问题描述】:
c 如何在 8 位插槽中存储双位小数?
#include "stdio.h"
main(){
double x = 123.456;
printf("\n %d - %e \n",sizeof(x),x);
}
输出:
8 - 23.456
x的值是123.456是正确的,但据说只有8位。
【问题讨论】:
-
sizeof返回一个size_t,在技术上应该使用"%zu"打印。如果您的编译器很好(并且您打开警告),它可能会给您一个警告。 (另外,main() { ... }看到有点痛,即使它是合法的。) -
@ChrisLutz:
main() { ... }在 C90 中是合法的,但在 C99 中是非法的。当然int main(void) { ... }两者都更可取。