Comunque va a capo perche' fscanf() e scanf() tagliano le stringhe quando ci sono gli spazi...

Prova questo:
codice:
int main() {
    char str[20];
    printf ("Nome e Cognome : ");
    scanf("%s", str);
   
    printf (str);
}
La Stessa cosa vale per la fscanf()

cmq per quanto riguarda il tuo programma...
la fscanf() va' a prendere parola per parola e quindi stampa una parola e va a capo senza considerare la frase...

Battuto sul Tempo...