Nelle scanf delle due stringhe bisogna utilizzare l'operatore di indirizzo & per memorizzarle
codice:printf("stringa 1:");codice:scanf("%s", &a); printf("stringa 2:"); scanf("%s", &b);
Nelle scanf delle due stringhe bisogna utilizzare l'operatore di indirizzo & per memorizzarle
codice:printf("stringa 1:");codice:scanf("%s", &a); printf("stringa 2:"); scanf("%s", &b);
Ultima modifica di Eduadie; 16-04-2014 a 15:43
Esiste la funzione strcat molto più semplice come potrai capire![]()
ImmagineC.jpg questo è il problema. Si ripresenta anche mettendo la & nella scanf
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
In realtà è più complicato. Il nome dell'array è di tipo array, ma in praticamente ogni contesto (tutto tranne che sizeof, & e poco altro) decade in un puntatore al primo elemento. &array restituisce un puntatore ad array, che ha lo stesso valore del puntatore al primo elemento, ma tipo diverso (concettualmente punta a tutto l'array, non al solo primo elemento), e in linea di principio non si può assegnare ad un semplice puntatore al tipo-base dell'array.
Amaro C++, il gusto pieno dell'undefined behavior.