title: C printf using %d and %f
body: <p>I was working on this program and I noticed that using %f for a double and %d for a float gives me something completely different. Anybody knows why this happens?</p>
  
  <pre><code>int main ()
  {
   float a = 1F;
   double b = 1;
  
   printf("float =%d\ndouble= %f", a, b);
  }
  </code></pre>
  
  <p>This is the output</p>
  
  <pre><code>float = -1610612736
  double = 190359837192766135921612671364749893774625551025007120912096639276776057269784974988808792093423962875123204096.0000
  </code></pre>