Je débute en C et j'ai du mal !!

armenias Messages postés 24 Statut Membre -  
Wardog Messages postés 398 Statut Membre -
Bonjour à tous, et merci d'avance pour ceux qui vont m'aider.. je commence a programmer en C et voici le premier programme très simple que je viens de créer :

#include <stdio.h>
#include <stdlib.h>

main ()

{

float x=0, a=0 ;
printf("Entre une vitesse en kmh");
scanf("%lf", &x);
a=x*0.621;
printf("\n La vitesse en mih correspond a %f", a);
system("PAUSE");

}

Quand je l'exécute, il me met dans tout les cas comme resultat 0.000000000.. pourquoi ?
Configuration: Windows Vista
Firefox 3.5.3

3 réponses

  1. Wardog Messages postés 398 Statut Membre 159
     
    Salut,

    
    
    double x=0, a=0 ;
    printf("Entre une vitesse en kmh");
    scanf("%lf", &x);
    printf("%lf", x);
    a=x*0.621;
    printf("\n La vitesse en mih correspond a %lf", a);
    system("PAUSE");
    
    
    

    printf() ne fait pas de difference entre %f and %lf. Cependant, dans scanf(), utilise %lf pour les double et %f pour les float.
    0
  2. armenias Messages postés 24 Statut Membre
     
    C'est ce que j'ai fait ? non ?
    0
  3. Wardog Messages postés 398 Statut Membre 159
     
    Non, tu as utilisé %lf avec un float dans scanf.

    Si tu as toujours pas compris, compile et exécute ça:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    
        float  x;
    
        puts("\nEntrez une valeur pour %lf :");
        scanf("%lf", &x);
        printf("Avec %%lf x = %f\n", x);
    
        puts("\nEntrez une valeur pour %f :");
        scanf("%f", &x);
        printf("Avec %%f x = %f\n", x);
    
        system("PAUSE");
    
        return(0);
    }
    
    

    0