格式说明符为'long long'
我声明一个64位计数器的variables为:
long long call_count;
打印语句中应该使用的格式说明符是什么?
我试过,%1,%ld,%ll。 没有一个似乎是正确的。
我使用Diab C编译器编译我的应用程序代码以在pSOS操作系统上运行。
根据C99,它应该是“%lld”(例如,见这里 )。 如果Diab C不是C99,那么你必须看看编译器文档,我似乎无法在网上find一个快速的谷歌search。
这是"%lli"
(或等同于"%lld"
)
微软和Watcom使用%I64d
(capital eye),其他使用%lld
(小写字母)。
也许%lld? 我觉得这是gcc的格式,对Diab C编译器一无所知。
这一点,甚至更多的描述在这里: 用printf跨平台打印64位整数
TL; DR:您可以使用PRId64macros(来自inttypes.h)以半便携的方式打印十进制的64位整数。 还有其他的macros(如PRIx64)。
是不是应该是%lld?
它是%lld的签名和%llu的无符号
long long t1; //signed unsigned long long t2; //unsigned printf("%lld",t1); printf("%llu",t2);