当我给它编号为4293974227(或更高)时,为什么这样的代码应该提供如此高的结果?
int main (int argc, char *argv[])
{
unsigned long long int i;
unsigned long long int z = atoi(argv[1]);
unsigned long long int tmp1 = z;
unsigned long long int *numbers = malloc (sizeof (unsigned long long int) * 1000);
for (i=0; tmp1<=tmp1+1000; i++, tmp1++) {
numbers[i] = tmp1;
printf("\n%llu - %llu", numbers[i], tmp1);
}
}
Run Code Online (Sandbox Code Playgroud)
结果应以提供的数字开头,但是如下所示:
18446744073708558547 - 18446744073708558547
18446744073708558548 - 18446744073708558548
18446744073708558549 - 18446744073708558549
18446744073708558550 - 18446744073708558550
18446744073708558551 - 18446744073708558551
Run Code Online (Sandbox Code Playgroud)
ECC ...
什么是废话?
谢谢!