如何在C中打印“unsigned long”?
-
13-09-2020 - |
题
我永远无法理解如何打印 unsigned long
C 中的数据类型
认为 unsigned_foo
是一个 unsigned long
, ,然后我尝试:
printf("%lu\n", unsigned_foo)
printf("%du\n", unsigned_foo)
printf("%ud\n", unsigned_foo)
printf("%ll\n", unsigned_foo)
printf("%ld\n", unsigned_foo)
printf("%dl\n", unsigned_foo)
他们都打印某种 -123123123
数字而不是 unsigned long
我有。
解决方案
%lu
的正确格式是 unsigned long
. 。听起来这里还有其他问题,例如内存损坏或未初始化的变量。也许向我们展示更大的图景?
其他提示
%lu
为了 无符号长%llu
为了 无符号长长
为了 整数 %d
为了 长整型 %ld
为了 长整型 %lld
为了 无符号长长整型 %llu
在您尝试过的所有组合中, %ld
和 %lu
是唯一有效的 printf 格式说明符。 %lu
(长无符号十进制), %lx
或者 %lX
(带有小写或大写字母的长十六进制),以及 %lo
(长八进制)是 unsigned long 类型变量的唯一有效格式说明符(当然,您可以在 %
和 l
).
int main()
{
unsigned long long d;
scanf("%llu",&d);
printf("%llu",d);
getch();
}
这会有帮助的。。。
格式为 %lu
.
请检查 printf 中的各种其他数据类型及其用法 这里
unsigned long 的正确说明符是 %lu
.
如果您没有获得预期的确切值,那么您的代码中可能存在一些问题。
请在此处复制您的代码。然后也许有人可以更好地告诉你问题是什么。
我有同样的问题。尝试“%ul”,它对我有用。
不隶属于 StackOverflow