title: Using write to print floating point numbers
body: <p>The <code>write</code> function does not print a floating point number in the following code:</p>
  
  <pre><code>#include &lt;unistd.h&gt;
  
  int main(){
  
      float f = 4.5;
  
      write(1,&amp;f,sizeof float);
  
      return 0;
  }
  </code></pre>
  
  <p>This results in:</p>
  
  <pre><code>�@
  </code></pre>
  
  <p>Whereas:</p>
  
  <pre><code>int main(){
  
      char *c = "Hello world";
  
      write (1,c,strlen(c)+1);
  
      return 0;
  }
  </code></pre>
  
  <p>Prints <code>Hello world</code> as expected.</p>
  
  <p>What am I missing?</p>
  
  <p>Thanks in advance.</p>