Dlaczego dynamicznie alokuje tylko jedną tablicę ?

0

Dlaczego na tą pierwszą tablicę program normalnie rezerwuję pamięć, a jak już podam ilość elementów tablicy2 to program się zawiesza ?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main()
{
    int *tablica1, *tablica2, n,m,i;

    printf("Podaj liczbe elementow tablicy pierwszej: ");
    scanf("%d",&n);

    srand(time(NULL));

    tablica1 = malloc(n * sizeof(int));

    for(i = 0;i < n;i++)
    {
        tablica1[i] = rand() % 100 + 1;
        printf("%d ",tablica1[i]);
    }

    printf("\nPodaj liczbe elementow drugiej tablicy: ");
    scanf("%d ",&m);

    tablica2 = malloc(m * sizeof(int));

    for(i = 0;i < n;i++)
    {
        tablica2[i] = rand() % 100 + 1;
        printf("%d ",tablica2[i]);
    }

    return 0;

}
 

już znalazłem błąd:

scanf("%d ",&m) 

powinno być:

scanf("%d",&m) 

To jest jakaś różnica między tym zapisem ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1