Intervalle

Vlàdmir -  
 Le concombre de Schrödinger -
Bonjour,
comment expliquez que le résulta soi faux?

#include <stdio.h>
#include <stdlib.h>
int main ()
{
char i=25, nombre, somme=0;
for (i=25; i>=25; i++)
{
i++;
somme=nombre+somme;
}
printf ("la somme est %ld \n");
system ("pause");
return 0;
}

6 réponses

arth Messages postés 10414 Date d'inscription   Statut Contributeur Dernière intervention   1 293
 
Hello,

De 1 la variable nombre n'est pas initialisée. Donc l'utiliser dans une somme c'est un peu suicidaire.

De deux la boucle suivante n'est même pas exécutée:

for (i=25; i>=25; i++)
{
i++;
somme=nombre+somme;
}

En effet on part de i=25, pour aller jusqu'à i>=25, déjà supérieur c'est tordu, mais comme i =25 et qu'on s'arrête à i=25 au minimum, alors on ne rentre pas dans la boucle.

Loulou.
0
Le concombre de Schrödinger
 
Salut

Et pourquoi utiliser des char si tu veux stocker des int ?
pourquoi incrémenter i dans le corps du for alors qu'elle l'est déjà dans le for ?
À moins que ton but ne soit de rendre difficile la compréhension du pgm
0
arth Messages postés 10414 Date d'inscription   Statut Contributeur Dernière intervention   1 293
 
Non non je crois que c'est un programme tordu, et il faut expliquer les erreurs ^^

Bien vu le coup du char, encore que je suis même pas sûr que la déclaration d'un char=25 fonctionne :)
0
loupius Messages postés 789 Statut Membre 148
 
comment expliquez que le résulta soi faux?
Je ne peux l'expliquer car on ne sait même pas ce que le programme doit faire !
Si tu veux faire une somme, je dirai que c'est plutôt une multiplication... mais une multiplication n'est qu'une somme, alors pourquoi pas ;-)
la boucle suivante n'est même pas exécutée:
Si, elle sera exécutée! Et même beaucoup de fois! Je crois que tu fais une erreur car, dans un 'for', la 2ème partie n'est pas une condition d'arrêt mais une condition de continuation; ce qui signifie qu'en fait la boucle ne s'arrêtera jamais.
je suis même pas sûr que la déclaration d'un char=25 fonctionne
Il n'y a aucune raison que cela ne fonctionne pas.
D'autre part, à la vue du 'printf', le compilateut doit râler.
Bonne soirée.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arth Messages postés 10414 Date d'inscription   Statut Contributeur Dernière intervention   1 293
 
Enfin je vois surtout pas l'utilité de faire un programme aussi merdique ^^

en effet c'est abérant dans son ensemble.
0
Le concombre de Schrödinger
 
Salut

Ya un exo qui a cours en ce moment : sommer les multiples de 10 jusqu'à une valeur donnée
c'est vrai que c'est un peu vicieux :D
0