如何在C中使用printf打印unsigned long int?

ale*_*lex 16 c printf

可能重复:
如何在C中打印"unsigned long"?

我有这样的号码......

int unsigned long number = 600851475143;
Run Code Online (Sandbox Code Playgroud)

我正在尝试打印它printf().每次我尝试,我都会收到编译器的警告.

我试过了%uld,%ld谷歌搜索似乎没有找到答案.

我正在学习C,但之前没有使用long int过,所以我不确定我应该使用什么.

我追逐的说明者是什么?

eq-*_*eq- 33

我建议使用标准顺序(即unsigned long int).%lu是您正在寻找的格式标签.

printf("%lu", 5ul);
Run Code Online (Sandbox Code Playgroud)


Kir*_*rov 7

int unsigned long number = 600851475143LU;
printf( "%lu", number );
Run Code Online (Sandbox Code Playgroud)

版画 600851475143