Résultat exécution bizarre C

Résolu
Bonjour,
Voici le programme que j'ai écrit:

#include<stdio.h>

int main()
{
double a, b, s;

printf("A= ");
scanf("%f", &a);
printf("B= ");
scanf("%f", &b);

s=a+b;

printf("s=%f\n", s);

return 0;
}

A l'exécution: n'importe quelles valeurs affectées à a et b, j'ai s=0.0000000
je comprends rien, quelqu'un pour m'expliquer please?
Merci d'avance
Configuration: Windows XP
Firefox 3.5.3

10 réponses

  1. bonjour, il faudrait que tes variales au début soit à 0.

    genre :

    long a = 0 , b = 0 , s = 0;

    sinon, la valeur des variable serait mélangé

    et puis, il te faut les bibliotheque de données.

    #include <stdlib.h>
    #include <math.h>
    1. Tu veux dire que je dois les initialiser à 0 au début? Si c'est ça, ça ne marche pas.
      1. Je viens de 'essayer, ça marche... à moins qu'il y ait une autre erreur dans le tien que je n'ai pas encore vu...
        1. Si ça marche chez toi, alors le problème n'est pas dans le programme, non?
          1. ok, j'ai trouvé,

            tu ne peux pas mettre

            ("%f", &b)

            mais plutot

            ("%ld", &b)

            car c'Est un nombre que tu veux
            1. ça marche pour les petits nombres, c'est déjà ça!
              mais lorsque j'ai mis une grande valeur, le 0 a refait son show!
              1. une grande valeur? grande comment ? dans les millions ou plus?
                1. A la place de ld, j'ai mis lf, et ça marche! Merci Dragonmastertran pour ton aide, j' y serai pas arrivé sans toi :)