vista la domanda non conviene neanche dare una occhiata al codice: il carattere di spaziatura è considerato carattere terminatore in fase di acquisizione della stringa quindi se tu fai leggere a scanf una stringa del tipo

codice:
Hello World
lui si ferma al primo spazio e ti legge solo

codice:
Hello
di conseguenza, essendo una stringa, il carattere che tu pensi sia lo spazio, in realtà è il tappo della variabile stringa, ovvero proprio

codice:
\0