title: Not being able to grasp the way of fscanf reading a float in my program
body: <p>This would be the part where I do the readings</p>
  
  <pre><code>do {
      res=0;
      res += fscanf(in , "%50s",recs[n].city); 
      res += fscanf(in , "%d.%d.%d ", &amp;recs[n].d.d , &amp;recs[n].d.m , &amp;recs[n].d.y);
      res += fscanf(in , "%f", &amp;recs[n].t );
      recs = realloc(recs, (n+2)*68);
      if(!recs){
          printf("Error for second recs");
          return 0;
      }
      n++;
          }while(res == 5);
  </code></pre>
  
  <p>My input file :</p>
  
  <pre><code>Germany 8.01.2020 54.24
  Romania 1.2.2019 34.55
  Banat 5.1.1999 41.66
  Region 4.5.2023 51.71
  Idk 12.11.1967 91.981
  </code></pre>
  
  <p>My output : </p>
  
  <pre><code>Germany 8 1 2020 54.240002 
  Romania 1 2 2019 34.549999 
  Banat 5 1 1999 41.660000 
  Region 4 5 2023 51.709999 
  Idk 12 11 1967 91.981003  
  
  </code></pre>
  
  <p>So basically my question is why does fscanf reads 51.709999 instead of 51.71 for example.</p>