我编写了这个简单的代码来生成高达 1005 的所有正整数的 4 次方。它只能在整数 215 之前正常工作。之后它会给出错误的读数。为什么这样?
# include<stdio.h>
int main(void)
{
    int i;
    unsigned long long int j;
    for (i = 1; i <= 1005; i++){
        j = i*i*i*i;
        printf("%i.........%llu\n",i,j);
    }
    return 0;
}