【发布时间】:2014-08-13 16:23:18
【问题描述】:
我有一个关于在 C 中为数字使用后缀的问题。
例子:
long long c;
变量 c 是 long long 类型。为了启动它的价值,我(通常)这样做
c = 12;
这样做后,编译器会将 c 识别为 long long 类型。
如果我这样做了
printf("%d",sizeof(c));
结果是 8 - 当然是 64 位。所以编译器会记住 c 是 long long 类型。
但是我已经看到了一些示例,我需要通过这样做来强制类型变长
c = 12LL
这是为什么呢?
【问题讨论】:
-
注意:
printf("%d",sizeof(c));不可移植。最好使用printf("%zu", sizeof(c));。 -
顺便说一句,sizeof 是一个运算符(不是函数),但我很少看到它在没有括号的情况下使用。
标签: c