Malloc kompiluje się lecz nic się nie wyświetla na ekranie

0

Witajcie ponownie

Tak jak w temacie. Powie mi ktoś dlaczego nic sie nie wyświetla na ekranie kiedy chcę wypisać 2 wymiarową tablice?

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



int main()
{
	int a,b,c,i,j;
	int **tab;

	printf("Podaj rozmiar swojej 2 wym tablicy i wczytaj liczby:");
	scanf("%d",&a,&b,&c);
	
	tab=(int **) malloc(a* sizeof(int *));
	
	printf("\n");
	//if(tab==NULL)
		//printf("fail");

		for(i=0;i<a;i++)
		{
			tab[i]=(int *) malloc(b*sizeof(int));
		}

		for(i=0;i<a;i++)
		{
			for(j=0;i<b;j++)
			{
				scanf("%d",&tab[i][j]);
			}
		}

		for(i=0;i<a;i++)
		{
			for(j=0;j<b;j++)
			{
				printf("%3d",tab[i][j]);
				if(i==20)
				{
					printf("\n");
				}
			}
		}
	printf("\n");
	system ("pause");
	free (tab);
	return 0;
}
0
for(i=0;i<a;i++)
{
    for(j=0;i<b;j++)
    {
        scanf("%d",&tab[i][j]);
    }
}
for(j=0;i<b;j++)

Widzisz już? ;)

0

Poprawiłem to niedopatrzenie, ale ciągle jest to samo. Nawet liczb nie mogę wczytać. Kiedy robię to za pomocą "new i delete" wszystko chodzi. Dzisiaj chciałem przećwiczyć Malloc'a i free i trochę się zawiodłem tutaj....

0
#include <stdio.h>

int main()
{
        int a,b,c;
 
        printf("Podaj rozmiar swojej 2 wym tablicy i wczytaj liczby:");
        scanf("%d",&a,&b,&c);

        printf("a=%d\n",a);
        printf("b=%d\n",b);
        printf("c=%d\n",c);
}
0

Oto co otrzymuje wpisując liczby:

//Zrzut z ekranu konsoli

Podaj rozmiar swojej 2 wym tablicy i wczytaj liczby:3 2
a=3
b=-858993460

Aby kontynuować, naciśnij dowolny klawisz . . .

Aby kontynuować, naciśnij dowolny klawisz . . .

Jak widać nic sie nie dzieje oprocz tych bzdur=.=, wiecie o co chodzi?

0

Dzieki wielkie za zwrócenie tego głupiego błędu. Mój błąd =.=

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