'long long'的格式说明符

Pra*_*. S 39 c

我为64位计数器声明一个变量:

long long call_count;
Run Code Online (Sandbox Code Playgroud)

我应该在print语句中使用什么格式说明符?

我试过了,%l,%ld,%ll.似乎没有一个是正确的.

我使用Diab C编译器来编译我的应用程序代码以在pSOS操作系统上运行.

Bdo*_*ror 59

根据C99,它应该是"%lld"(例如,见这里).如果Diab C不是C99,那么你必须查看编译器文档,我似乎无法通过快速谷歌搜索在线找到.

  • 对于'long long unsigned int',你应该使用"%llu" (7认同)

Chr*_*oph 15

"%lli"(或等效地"%lld")


Gra*_*row 11

微软和Watcom使用%I64d(资本眼),其他人使用%lld(小写椭圆).

  • 微软长期使用ll(ell ell); I64(眼睛)为__int64.http://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx (5认同)

Cal*_*dan 5

这里描述了这个甚至更多: 使用printf跨平台打印64位整数

TL; DR:您可以使用PRId64宏(来自inttypes.h)以半便携方式打印十进制的64位整数.还有其他宏(如PRIx64).