scanf interrompe l'acquisizione della stringa non appena incontra uno spazio, pertanto non è idonea per il tuo utilizzo.
Meglio usare fgets.