c - Windows 上的 %lld 问题

标签 c windows

为什么这段代码:

#include <stdio.h>

int main(int argc, char** argv) {
    printf("%lld\n", 4294967296LL);
}

为 Windows 发出这个:

0

但这适用于 Linux:

4294967296

最佳答案

这是因为 Visual Studio C++ 2003 及更早版本不支持 %lld。但是这段代码可以工作:

#include <stdio.h>

int main(int argc, char** argv) {
    printf("%I64d\n", 4294967296LL);
}

Size and Distance Specification (Visual Studio C++ 2003)

Size and Distance Specification (Visual Studio C++ 2005)

关于c - Windows 上的 %lld 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/664015/

相关文章:

c# - 更改 Windows 7 窗口颜色

windows - 如何解决 Arduino 中的内存错误?

C 计算二维数组中字符串的频率

c - 我应该使用什么图来表示模块中功能之间的交互?

c - FILE可以作为c中的函数类型实现吗?

c - 为什么 HeapFree 之后堆内存仍然可以访问

windows - 从 PowerShell 设置时如何处理 Windows PATH 变量扩展?

c - 使用arduino wifishield从网络读取数据

objective-c - 简单的检测算法

java - 从文件属性中检索标签列表