#include <stdio.h>
int main()
{
size_t foo = 600000000;
size_t bar = 8;
size_t foobar = foo * bar;
printf ("%lu * %lu is %lu\n",foo,bar,foobar);
}
$ gcc -o hello hello.c
$ ./hello
600000000 * 8 is 505032704
$ gcc --version
gcc (GCC) 4.4.1 20090623 (prerelease)
的Mac OS X 10.7.5
天然CC(锵)编译器产生正确的结果。但是我在多个平台上使用gcc/gfortran。
你为什么认为这是错的? – RegularExpression 2014-08-28 05:14:46
http://stackoverflow.com/questions/25402815/output-of-large-numbers这似乎相关 – pragnesh 2014-08-28 05:19:20
'size_t'的正确格式是'“%zu”'。 – 2014-08-28 07:43:32