printf函数接受一个参数类型,例如%d或%i为带符号的整型。然而,我没有看到任何长值。
当前回答
这取决于,如果你指的是无符号长,格式化字符是“%lu”。如果您指的是带符号的长字符,则格式化字符为“%ld”。
其他回答
我认为明确地回答这个问题需要知道编译器的名称和版本,以及它正在编译的平台(CPU类型,操作系统等)。
这取决于,如果你指的是无符号长,格式化字符是“%lu”。如果您指的是带符号的长字符,则格式化字符为“%ld”。
我想你的意思是:
unsigned long n;
printf("%lu", n); // unsigned long
or
long n;
printf("%ld", n); // signed long
把l(小写字母l)直接放在说明符前面。
unsigned long n;
long m;
printf("%lu %ld", n, m);
%ld见printf参考cplusplus.com
推荐文章
- c++中size_t和int的区别是什么?
- 在C和c++中静态变量存储在哪里?
- errno线程安全吗?
- 如何在C程序中获取当前目录?
- 互斥实例/教程?
- 如何添加一个'或'条件在#ifdef
- 为什么在PHP中使用sprintf函数?
- extern关键字对C函数的影响
- 如果使用if-return-return或if-else-return?
- 转换Python程序到C/ c++代码?
- 为什么程序不是经常用汇编编写的?
- 有没有替换Windows (Visual C)的unistd.h ?
- 使用gcc命令行从.c文件构建.so文件
- C多行宏:do/while(0) vs作用域块
- time_t最终的类型定义是什么?