#include <stdio.h>
int main() {
char a = 'A';
int b = 90000;
float c = 6.5;
printf("%d ",sizeof(6.5));
printf("%d ",sizeof(90000));
printf("%d ",sizeof('A'));
printf("%d ",sizeof(c));
printf("%d ",sizeof(b));
printf("%d",sizeof(a));
return 0;
}
输出为:
8 4 4 4 4 1
为什么相同值的输出不同?
printf("%d",sizeof(6.5f));
使它成为一个float
。
“为什么这里的输出不同?” 为什么应该一样?您可以将一个分配给另一个的事实并不意味着它们具有完全相同的类型。
—
斯拉瓦
格式说明符应为,例如
—
Weather Vane,
printf("%zu", sizeof(6.5));
6.5
不是浮标,而是double