Chce stworzyc prosty program, ktory alokuje pamiec na podana przez uzytkownika ilosc znakow a nastepnie, alkoujacy pamięć na tablicę znakową . Na koncu chce po prostu wyswietlic ją. Nie działa to poprawnie , co tutaj jest źle bo nie moge dociec ? Program dziwnie sie zachowuje :
#include <stdio.h>
#include <stdlib.h>
int main (){
char *napis;
int *rozmiar;
int ilosc,i;
printf (" \n \n \n Podaj ilosc znakow ktore chcesz wczytac \n ");
scanf("%d",&ilosc);
rozmiar=&ilosc;
napis = (char *)malloc( (*rozmiar)*sizeof(char)) ;
printf("Zaalokowano %d bajtow \n ", sizeof(napis));
for(i=0;i<*rozmiar;i++){
printf("podaj %d znak \n ",i+1);
scanf("%c", (napis+i) );
}
printf("Zaczynamy wyswietlanie tego : ");
for(i=0;i<*rozmiar;i++){
printf(" %c ", *(napis+i) );
}
free(napis);
return 0;
}