Probleme de programmation

Résolu
seb1205 -  
 seb1205 -
Bonjour,
je programme (niveau debutant) en C sur code blocks et j'ai rencontre un probleme je vous donne mon petit programme qui permet d'additionner deux nombres entrés par l'utilisateur :

{
1 long nombre1, nombre2, resultat;
2 printf("entrez nombre1");
3 scanf("%ld",&nombre1);
4 printf("entrez nombre2");
5 scanf("%ld",&nombre2);
6 resultat=nombre1+nombre2;
7 printf("%ld +%ld =%ld", nombre1,nombre2, resultat);
8 return 0;
}
Voila alors ma question est toute simple, ce programme marche. Mais si je mets la ligne 6 juste apres la declaration de ma variable (en ligne 2 donc) le programme m'affiche -255448264 bla bla bla. Est-ce que quelqu'un serait pourquoi ?

et j'aurai une autre quetion : pourquo doit on reinitialiser une variable a 0 ? Dans mon exemple que j'ecrive resultat=0 ou resultat; (ligne 1) c'est exactement la meme chose !! pourquoi ?

je vous remercie pour vos reponses

2 réponses

HACKER 712 Messages postés 1282 Date d'inscription   Statut Contributeur Dernière intervention   255
 
salut !

c'est parce que resultat va valoir des enormes nombres qu'il y avait avant dans cette case de memoire !

l'utilisateur aura beau rentrer ce qu'il veut, et nombre 1 aura beau valoir 5 et nombre 2 valoir 5, resultat ne vaudra pas 10 puisque tu ne redis pas ce qu'il vaut !
0
HACKER 712 Messages postés 1282 Date d'inscription   Statut Contributeur Dernière intervention   255
 
et pour la deuxieme ques, il faut le mettre a 0 si tu ecris direct la variable dans la console, sans lui assigner un nombre que tu as choisi !

sinon, c'est pas la peine, puisque tu redefinit sa valeur par la suite !
0
seb1205
 
ok je te remercie je vais mediter ca !!
0