为啥输入的跟结果不同啊,求解决

#include
#include
int main(void)
{
    int i;
    int a[5]; //本数组一共20个字节,每四个字节被当作了一个int变量来使用
    int len;
    int *pArr;
    printf("请输入存放元素的个数:");
    scanf("%d", &len);
    getchar();
    pArr = (int *)malloc(sizeof(int) * len); //类似于 int *(pArr+len);或int pArr[len];(静态)本行动态构造了一个一维数组,长度为len
    //对数组进行操作赋值
    for (i = 0; i < len; ++i)
    {
        scanf("%d", &pArr[len]);
    }
    printf("一维数组的内容是:\n");
    for (i = 0; i < len; ++i)
    {
        printf("%d\n", pArr[i]);
    }
    free(pArr);
    getchar();
    //动态分配内存(增大或缩小)用realloc(数组名,扩大或缩小总值)
    return 0;
}

img


//求解决

scanf("%d", &pArr[len]);错了,改为:scanf("%d", &pArr[i]);