我有这段代码(我在 ansi c 中使用大文件支持)
unsigned long int tmp,final
final=1231123123123213
tmp=final;
printf("%llu %llu \n",final,tmp);
printf("%llu \n ",tmp);
它打印
1231123123123213 0
1231123123123213
我不明白
最佳答案
与 unsigned long int
一起使用的格式说明符是 %lu
。您正在使用 %llu
,它是 unsigned long long int
的格式说明符。您的代码的行为未定义。
您需要决定您要做什么。使用正确的格式说明符(以匹配类型),或使用正确的类型(以匹配格式说明符)。
关于c - 两个无符号长整型的 printf 奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3655249/