Buon pomeriggio a tutti, ho cominciato da poco a studiare il linguaggio C e trovo una difficoltà per me al momento insormontabile nello scambiare due stringhe formate da una sola parola ciascuna senza caratteri particolari![]()
Il codice seguente non da alcun errore di compilazione ma al momento dell'esecuzione le due parole vengono stampate soltanto che risultano combinazioni strane che non riesco a spiegare.
Per essere più chiaro se immetto da tastiera le parole:
Marco Andrea
dovrei ottenere:
Andrea Marco
ma ciò che spunta è:
Andrmarcea e Marcea
Come è possibile una cosa del genere? Non ci dormo sopra![]()
Spero che qualcuno più esperto di me possa trovare cosa non va in questo codice elementare.codice:#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ struct studenti{ char *nome; }studente[2]; char *temp; temp = malloc(50*sizeof(char)); scanf("%s",&studente[1].nome); scanf("%s",&studente[2].nome); temp = studente[1].nome; studente[1].nome = studente[2].nome; studente[2].nome = temp; printf("\n\n%20s %20s\n\n",&studente[1].nome,&studente[2].nome); system("PAUSE"); return 0; }