Ciao. Da poco sto iniziando a scrivere programmi in C e non ho ancora tanta dimestichezza. Vorrei creare un programma che chieda all'utente di inserire un messaggio ma vorrei allocare dinamicamente la stringa che deve contenerlo. Ho pensato di scrivere nel seguente modo:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *stringa,ch;
int n=0,i=0;
printf("inserire messaggio: ");
while((ch=getchar())!= '\n' )
{
n++;
stringa=(char *) malloc(n+1);
stringa[i++]=ch;
}
printf("%s",stringa);
return 0;
}
ma il programma non fa quello che vorrei. Potresti dirmi per piacere dove è l'errore?