malgré l'aide d'une personne sur le fofo pour un précédent algo j'ai il me semble un probleme recurent.
Mes programme se compile mais ne ressorte pas la valeur désiré et tourne en boucle une explication?
#include <stdio.h>
#include <stdlib.h>
void suite( int n)
{
int u,i;
u = 0;
for (i = 0; i = n;i++);
u = 2*u +3;
}
int main()
{
int u,n;
printf(" donner le n \n");
scanf("%d",&n);
suite(n);
printf("le n terme de la suite est %d",u);
}
Lignes 4 à 12, la fonction suite ne retourne rien et n'a aucun effet de bord (elle ne modifie rien à l'extérieur d'elle-même). En bref, elle n'a aucun effet observable, et ne sert absolument à rien. Il se peut même qu'un compilateur malin la supprime totalement.
Ligne 7, u=0, et ligne 8, u=0. Celui de la ligne 7 est inutile, même s'il ne cause pas de problème.
Ligne 8, la condition d'arrêt i = n est certainement une erreur, car elle cause une boucle infinie pour toute valeur de n non nulle.
Ligne 19, affichage de u alors que u n'est pas initialisée, d'où résultat indéterminé.
Ligne 19 toujours, une phrase prend une majuscule au début et un point à la fin. Ce n'est que de l'orthographe, mais c'est très négligé.
Ligne 19 enfin, il est techniquement préférable de terminer l'affichage par un retour à la ligne '\n'.
Lignes 4 à 12, la fonction suite ne retourne rien et n'a aucun effet de bord (elle ne modifie rien à l'extérieur d'elle-même). En bref, elle n'a aucun effet observable, et ne sert absolument à rien. Il se peut même qu'un compilateur malin la supprime totalement.
Ligne 7, u=0, et ligne 8, u=0. Celui de la ligne 7 est inutile, même s'il ne cause pas de problème.
Ligne 8, la condition d'arrêt i = n est certainement une erreur, car elle cause une boucle infinie pour toute valeur de n non nulle.
Ligne 19, affichage de u alors que u n'est pas initialisée, d'où résultat non indéterminé.
Ligne 19 toujours, une phrase prend une majuscule au début et un point à la fin. Ce n'est que de l'orthographe, mais c'est très négligé.
Ligne 19 enfin, il est techniquement préférable de terminer l'affichage par un retour à la ligne '\n'.
- Edité par Marc Mongenet il y a moins de 30s
Tout d'arbord merci de votre aide .J'ai résolu certain problème,il me reste la fonction vide et la condition d'arrêt n.
Je souhaite grace a celle ci calculer le n ieme terme d'une suite d'ou la condition d'arrêt n . Une idée de modification?
#include <stdio.h>
#include <stdlib.h>
int suite( int n)
{
int u,i;
u = 0;
for (i = 1; i = n;i++);
u = 2*u +3;
return u;
}
int main()
{
int u,n;
printf(" donner le n \n");
scanf("%d",&n);
suite(n);
printf("Le n terme de la suite est %d . \n",u);
}
Il y a une variable u dans main(), elle n'est pas initialisée mais affichée. Il y une autre variable qui s'appelle u dans suite(), aucune liaison avec le u du main(). Il est où le pointeur? Il est où? Bon de toute façon pas besoin de pointeur. Une fonction peut tout à fait retourner une valeur (par exemple u) qui sera récupérée dans le main() en sortie de fonction, on pourrait mettre ce résultat dans le u du main().
dans le main , n'oublie pas de recuperer la valeur de retour de suite(n) ..
encore un problème de pointeur?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
En recherche d'emploi.