嵩白 2022-11-09 07:31 采纳率: 50%
浏览 17
已结题

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

#include <stdio.h>
#include <malloc.h>
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


//求解决

  • 写回答

2条回答 默认 最新

  • De-Chang Wang 2022-11-09 08:58
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 创建了问题 11月9日