如何使用printf在C语言中打印一个无符号长整型?

19

可能已有答案:
如何在C语言中使用printf打印“unsigned long”?

我的数字是这个样子的...

int unsigned long number = 600851475143;

我正在尝试使用printf()打印它。每次尝试时,编译器都会发出警告。

我已经尝试过%uld%ld,但是在Google上搜索似乎没有找到答案。

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

我要查找的是什么限定符?


http://projecteuler.net/problem=3 - Jared Burrows
1
您可以阅读此链接:http://en.cppreference.com/w/cpp/io/c/fprintf。 - 王奕然
2个回答

35

我建议使用标准顺序(即无符号长整型)。%lu 是您要寻找的格式标记。

printf("%lu", 5ul);

1
抱歉,我不知道有一般惯例顺序。谢谢告诉我。 - alex

10
int unsigned long number = 600851475143LU;
printf( "%lu", number );

打印 600851475143


不要忘记在整数末尾添加 L - Matt Joiner
啊,是的..谢谢你的提醒。我只是从发布的问题中复制了它。 - Kiril Kirov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接