【发布时间】:2009-03-19 20:54:52
【问题描述】:
为什么会有这段代码:
#include <stdio.h>
int main(int argc, char** argv) {
printf("%lld\n", 4294967296LL);
}
在 Windows 上发出这个:
0
但这适用于 Linux:
4294967296
【问题讨论】:
为什么会有这段代码:
#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);
}
【讨论】: