Dlaczego dynamicznie alokuje tylko jedną tablicę ?

Odpowiedz Nowy wątek
2015-01-09 19:54
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 ?

edytowany 2x, ostatnio: Shalom, 2015-01-09 20:31

Pozostało 580 znaków

2015-01-09 20:30
1

http://www.cplusplus.com/reference/cstdio/scanf/ od Whitespace character


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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