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 ?