Bonjours a tout,
je suis entrain de lire le livre programmer en langage C de Claude Delannoy 5ieme édition, j'ai fait un bon commencement avec ce livre,jusqu'au quatrième chapitre qui traite les entrées-sorties conversationnelles, ici aussi tout était bien expliqué sauf quelque chose que je n'ai pas compris dans 2 exemples .
la première est dans l'action sur le gabarit d'affichage :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
printf ("%f", x) ;         /* notation décimale gabarit        par défaut */
                           /* (6 chiffres après point) */
 
x = 1.2345            1.234500
 
x = 12.3456789        12.345679
*
ici ce que j'ai pas compris , pourquoi la valeur de la variable x est 12.3456789 mais dans l'affichage le programme a sauté le 8 avant le neuf 12.345679.
ce que j'ai compris c'est que si on veut respecter ce que le gabarit d'affichage impose,le programme devra disparaître le dernier chiffre qui est le 9 --12.345678.
pour la 2ieme chose c'est dans un exercice qui est déjà corrigé j'avais le même soucis, je veux dire le changement des nombres a droite dont voila les détails:

la question : Quels seront les résultats fournis par ce programme ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
main ()
{     int n = 543 ;
 
      int p = 5 ;
 
      float x = 34.5678;
 
      printf ("A : %d %f\n", n, x) ; 
 
      printf ("B : %4d %10f\n", n, x) ; 
 
      printf ("C : %2d %3f\n", n, x) ;
 
      printf ("D : %10.3f %10.3e\n", x, x) ;
 
      printf ("E : %*d\n", p, n) ;
 
      printf ("F : %*.*f\n", 12, 5, x) ;
 
}
et le programme affiche le résultat suivant:

A : 543 34.567799 

B : 543 34.567799 

C : 543 34.567799

D: 34.568 3.457e+01

E : 543

F : 34.56780.

alors si quelqu'un peut m’expliquer en détail pourquoi les chiffre après la virgule ont changés ( A, B,C) , je ne parle pas au nivaux de nombre des chiffre après la virgule parce que je sait qu'on a une notation décimal avec gabarit par défaut donc 6 chiffre après la virgule. mais je parle au nivaux de la valeur des chiffres après la virgule qui a changée.
merci d'avance de vos aides.