[langage C] printf pour un double

Bonjour,

je fais ce printf d'une multiplication:

printf("\n\t-----> resul: %.0lf", 61464689 * 512);

mais je n'obtient pas la bonne réponse, %lf est bien pour printer un double?
Un int, c'est %d. Un float c'est %f je pense...

le réponse est 31469920768 et j'obtient
 -----> resul: 61464672


Quelqu'un peut m'aider?

Merci d'avance
Configuration: Windows XP
Firefox 3.0.11

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. essaye :

    printf("\n\t-----> resul: %.0lf", (61464689 * 512) );

    ou

    double a = 61464689 * 512;
    printf("\n\t-----> resul: %.0lf", a );
    1. Contributeur
      hello
      essaye avec 512. pour forcer un float
      printf("\n\t-----> resul: %.0lf", 61464689 * 512.);