我为64位计数器声明一个变量:
long long call_count;
我应该在print语句中使用什么格式说明符?
我试过了,%l
,%ld
,%ll
.似乎没有一个是正确的.
我使用Diab C编译器来编译我的应用程序代码以在pSOS操作系统上运行.
根据C99,它应该是"%lld"(例如,见这里).如果Diab C不是C99,那么你必须查看编译器文档,我似乎无法通过快速谷歌搜索在线找到.
它"%lli"
(或等效地"%lld"
)
微软和Watcom使用%I64d
(资本眼),其他人使用%lld
(小写椭圆).
这里描述了这个甚至更多: 使用printf跨平台打印64位整数
TL; DR:您可以使用PRId64宏(来自inttypes.h)以半便携方式打印十进制的64位整数.还有其他宏(如PRIx64).