title: printf not printing last character
body: <p>I'm making a simple code for simulating Caesar's cypher and I'm having a weird bug where, although the output string <code>fraseout[]</code> is formed correctly and will print correctly at the very last print it gets it's last character trimmed. Why is this happening?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;string.h&gt;
  #include &lt;math.h&gt;
  int main (void)
  {
          printf("Insira a frase:\n");
          char frase [256];
          scanf("%s", frase);
          int size = (int)strlen(frase);
          printf("Insira o tamanho da divergência: \n");
          int diff = 0;
          scanf("%i", &amp;diff);
          char fraseout [size];
          int i = 0;
          for (i = 0; i&lt;=size-1; i++)
          {
                  int val = (int)frase[i];
                  if (val + diff &gt; 126)
                  {
                          val = 31+diff-(126-val);
                  }
                  else if (val +diff &lt; 32)
                  {
                          val = 127 + diff+(val-32);
                  }
                  else
                  {
                          val +=diff;
                  }
                  fraseout [i] = (char)val;
          }
  
          printf("\"%s\" -&gt; \"%s\"\n", frase, fraseout);
          return 0;
  }
  </code></pre>