title: Why my conversion specifiers doesn't work properly in C
body: <p>I'am quite new in <strong>C</strong> and dealing with text formatting that is a bit challenging for me.
  I try to enter initials <em>J. S.</em> (whitespace between characters) and name <em>John Smith</em> and my <strong>initials</strong> array stores the value <strong>J. S.John Smith</strong> that is not what should be.</p>
  <p>Can somebody explane me why it is happening.</p>
  <p>Here is my code snippet ( just example )</p>
  <pre><code>#define _CRT_SECURE_NO_WARNINGS
  #include &lt;stdio.h&gt;
  
  struct Person
  {
      char initials[5];
      char name[35];
  };
  
  int main(void)
  {
      struct Person person;
      printf(&quot;Please enter symbols: &quot;);
      scanf(&quot;%6[^\n]%*c&quot;, person.initials);
      printf(&quot;%s\n&quot;, person.initials);
      printf(&quot;Please enter your name: &quot;);
      scanf(&quot;%35[^\n]%*c&quot;, person.name);
      printf(&quot;%s\n&quot;, person.name);
      printf(&quot;%s\n&quot;, person.initials);
  }
  </code></pre>
  <p>Output :</p>
  <pre><code>Please enter symbols: J. S.
  J. S.
  Please enter your name: John Smith
  John Smith
  J. S.John Smith
  </code></pre>
  <p>Will be very thankful for help.</p>