########裂开了!!!一道数组的取值竟然让我揪了两个小时头发

我在DEV C++中定义了一个动态分配空间的数组,结果当我想用下标同步显示其中的元素项时,输出全部都是1

 

有大神知道怎么回事吗?我要裂开了 百思不得其解


{
    int i,cnt,j,h;
    scanf("%d",&i);
    int* arry = (int*)malloc(i*sizeof(int));
    for(j = 0;j<i-1;j++)
    {
        
        arry[j] =  scanf("%d",&cnt);
        printf("%d\n",arry[j]);
    }

printf("%d\n",_msize(arry));

    return arry;
}

  arry[j] =  scanf("%d",&cnt);

改为

    scanf("%d",&cnt);

    arry[j] =  cnt;

楼上正解,scanf返回的是成功匹配和赋值的个数,直接赋值没有意义。