为什么这段代码:
#includeint main(int argc, char** argv) { printf("%lld\n", 4294967296LL); }
为Windows发出此信息:
0
但这适用于Linux:
4294967296
Jared Oberha.. 12
这是因为Visual Studio C++ 2003及更早版本不支持%lld.但是这段代码可以工作:
#includeint main(int argc, char** argv) { printf("%I64d\n", 4294967296LL); }
大小和距离规范(Visual Studio C++ 2003)
大小和距离规范(Visual Studio C++ 2005)
这是因为Visual Studio C++ 2003及更早版本不支持%lld.但是这段代码可以工作:
#includeint main(int argc, char** argv) { printf("%I64d\n", 4294967296LL); }
大小和距离规范(Visual Studio C++ 2003)
大小和距离规范(Visual Studio C++ 2005)