ah scusate , ho una domandina nuova
Se mando una stringa avete detto non c'è problemi di endianess, come mai questa differenza di comportamento ?
e una domanda un pò off topic :
scanf vs fgets nella lettura dello stdin .
se leggo la stringa "pippo" e l'assegno alla variabile stringa usando scanf questa mi lascia \n in memoria e aggiunge l'eof a pippo e quindi in stringa ci sarà "pippo\0"
con fgets il buffer stdin mi viene completamente ripulito e viene assegnato a stringa "pippo\n\0" ? corretto ?

Quindi in una lettura di un un numero che poi dopo vado a convertire con strtol tutto ok perchè \n non me lo converte , ma se devo leggere una stringa è bene elimini l'ultimo carattere \n o sbaglio ?

Come dovrei gestire questa situazione