Salve,
sono nuovo del forum e non li frequento molto, quindi scusate se faccio qualche errore.
Ho un problema con un programma in C.
questo è il codice:
dopo aver visualizzato correttamente la stringa s, viene visualizzato "inserire d" e dopo di che il programma termina senza rispettare il gets() successivo. questo accade solo se effettuo allocazione dinamica della memoria. Se non la effettuo tutto procede nel modo esatto.codice:int dim,i; char *s=NULL; char d[100]; puts("inserisci grnadezza della stringa"); scanf("%d",&dim); s=(char *)malloc((dim*sizeof(char))+1); puts("inserisci stringa"); scanf("%s",s); puts(s); puts("inserire d"); gets(d); printf("%s",d); free(s); system("PAUSE"); return 0; }
Inoltre se inserisco gets(s), al posto di scanf("%s",s), il programma non mi fa immettere la stringa s e salta alla richiesta della stringa d.
Mi scuso ancora se ho commesso qualche errore nel postare il problema.
Grazie in anticipo.![]()

Rispondi quotando
