资料一、
__int64是MS自创的, 要用64位int的话C中本来就自带:
#include
<
stdio.h
>
#include < limits.h >
int main()
{
long long a = LLONG_MAX;
unsigned long long b = ULLONG_MAX;
printf("%lld\n%llu",a,b);
}
#include < limits.h >
int main()
{
long long a = LLONG_MAX;
unsigned long long b = ULLONG_MAX;
printf("%lld\n%llu",a,b);
}
参考资料:ANSI C99
资料二:
// MS Windows下的VC、BCB、MingW GCC等用:
__int64n;
scanf( " %I64u " , & n);
printf( " %I64u\n " ,n);
scanf( " %I64u " , & n);
printf( " %I64u\n " ,n);
其中MingW GCC还支持用long long声明,但输入输出的格式串仍用I64开头。
__int64关键字和I64标号确实是MS专有的。标准C用long long和%lld。所以在Unix、Linux、Cygwin下编程就应该用标准的用法了。