Con un ciclo while memorizzo tutto nel vettore line. Poi metto il '\0' (che mi serve per lo stampaggio con %s) e richiamo reverse con line e i come argomenti. Fin qui niente di strano.
La funzione reverse, invece, l'ho cambiata totalmente. Qui il codice:
Allora dichiaro tutte le variabili per benino e do valore 0 a j. Dopo faccio una copia già invertita della stringa in input contenuta in s[] in un nuovo vettore, inv[].
Per fare ciò uso un ciclo for (che usa la variabile i richiamata come argomento, che ha come valore la lunghezza della parola o della frase), che continua a decrementare i fino a che s[j] (la variabile j sale ad ogni esecuzione del ciclo) non da valore '\0' (che ho inserito alla fine del vettore line[] [in realtà uguale a s[]] in main).
Ad ogni esecuzione del ciclo, in più copio: la prima lettera contenuta s[] come ultima di inv[], poi la seconda come penultima e così via...
Fatto ciò assegno a inv[j] (che si era incrementato un ultima volta provocando lo spiacevole evento di dimenticarsi di inserire l'ultimo carattere , ma non sapevo come altro fare
) il valore della prima lettera contenuta in s[0].
Quindi metto a inv[(i)] (i a questo punto è 0 ) un bel newline (queste due operazioni perchè il mio for ha qualcosa che non va).
Non rimane che copiare interamente inv[] in s[] (così diventano identiche con la stringa capovolta) e mettere come ultimo carattere a s[] '\0'. Il line[] che avevo inserito prima è diventato uguale a s[] e viene sstampeggiato sullo schermo
Probabilmente l'unico casino che ho fatto è stato col for della /* Copia invertita in inv[] */... vediamo se mi sai aiutare
@Lawliet
Era solo per evitare una marea di codice inutile e sperimentare più argomenti
Vi ringrazio tutti per la partecipazione e l'interessamento.