#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
。
「なぜここで出力が異なるのですか?」なぜ同じでなければならないのですか?1つを別のものに割り当てることができるという事実は、それらが完全に同じタイプであることを意味しません。
—
スラバ
フォーマット指定子は、たとえば
—
Weather Vane
printf("%zu", sizeof(6.5));
6.5
フロートではない、それはdouble