[使用指针将输入读入数组时如何正确使用scanf()?

问题描述 投票:0回答:1

我正在刷新我最基本的C知识,并决定尝试一些指针算法,动态内存分配等。由于某些原因,使用scanf()读取输入将无法正常工作,而且我也无法弄清楚原因:

int main() {
    int arr1_size = 0;

    printf("Hello,\nPlease enter the size of the first array:");
    scanf("%d", &arr1_size);

    int* arr1 = (int*) malloc(sizeof(int) * arr1_size);

    printf("Please enter array 1 of size %d:\n", arr1_size);
    for(int i = 0; i < arr1_size; i++) {
        scanf("%d", arr1);
        arr1++;
    }
    for(int i = 0; i < arr1_size; i++) {
        printf("%d", arr1[i]);
    }

    return 0;
}
c pointers scanf dynamic-memory-allocation
1个回答
1
投票

这里是程序的稍微改进的版本:

© www.soinside.com 2019 - 2024. All rights reserved.