Les boucles dans les sous programmes
Fermé
skandermouna
Messages postés
4
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
1 mars 2015
-
Modifié par Whismeril le 29/12/2014 à 20:54
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 déc. 2014 à 22:01
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 déc. 2014 à 22:01
A voir également:
- Les boucles dans les sous programmes
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Nicolas a téléchargé le logiciel suite utilitaires. il clique sur le bouton “j’accepte” en bas à droite. quels sont les programmes ou éléments installés maintenant sur son ordinateur ? ✓ - Forum Virus / Sécurité
- Programmes au démarrage windows 10 - Guide
- Fichier ouvert dans un autre programme - Guide
- Programmes x86 ✓ - Forum Windows
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
29 déc. 2014 à 17:50
29 déc. 2014 à 17:50
Bonjour,
Pourquoi enlever le "Bonjour" mis en place automatiquement ???
Sinon, plein d'erreurs dans le code :
void main()
Non standard. On utilise plutôt : int main(void)
De fait, il ne faut pas oublier : return 0; en fin de main().
printf("%d",test(a,b));
N'oublie pas de flusher la sortie avant la fin. Je te conseille donc plutôt de mettre : %\n.
int a=5;
int b=8;
Évite les variables globales. Surtout si c'est pour les envoyer en paramètres de fonction. Sinon, tu te mélangeras les pinceaux.
Mets donc plutôt int a=5; et int b=8; dans ton main().
for(i=1;i<=50;i++)
Ce n'est pas une erreur, mais pour éviter que tu la fasses dans le cas de tableaux, je la signales quand même : en C, on commence à 0.
Donc plutôt : for(i=0;i<50;i++)
Sinon, pour ta question, c'est normal que s change de valeur.
Si ça ne changeait pas de valeur, quel serait l'intérêt de l'afficher plusieurs fois de suite ? C'est le code s=s+(a+b); qui change la valeur de la variable.
Cdlt,
Pourquoi enlever le "Bonjour" mis en place automatiquement ???
Sinon, plein d'erreurs dans le code :
void main()
Non standard. On utilise plutôt : int main(void)
De fait, il ne faut pas oublier : return 0; en fin de main().
printf("%d",test(a,b));
N'oublie pas de flusher la sortie avant la fin. Je te conseille donc plutôt de mettre : %\n.
int a=5;
int b=8;
Évite les variables globales. Surtout si c'est pour les envoyer en paramètres de fonction. Sinon, tu te mélangeras les pinceaux.
Mets donc plutôt int a=5; et int b=8; dans ton main().
for(i=1;i<=50;i++)
Ce n'est pas une erreur, mais pour éviter que tu la fasses dans le cas de tableaux, je la signales quand même : en C, on commence à 0.
Donc plutôt : for(i=0;i<50;i++)
Sinon, pour ta question, c'est normal que s change de valeur.
Si ça ne changeait pas de valeur, quel serait l'intérêt de l'afficher plusieurs fois de suite ? C'est le code s=s+(a+b); qui change la valeur de la variable.
Cdlt,
29 déc. 2014 à 18:01
Juste:
"N'oublie pas de flusher la sortie avant la fin. Je te conseille donc plutôt de mettre : . "
Tu voulais sûrement dire , ce qui donne:
printf("%d\n",test(a,b));Cela rajoute en fait un caractère de retour à la ligne de sorte que les prochains caractères affichés le soient sur la ligne suivante.
Cela évite des aberrations d'affichage; ceux qui utilisent linux couramment ne le savent que trop bien !
29 déc. 2014 à 18:14
Cela rajoute en fait un caractère de retour à la ligne de sorte que les prochains caractères affichés le soient sur la ligne suivante.
Cela a surtout pour but de forcer l'affichage du buffer écran. On a ainsi la garantie que le nombre soit affiché. Après, effectivement, c'est mieux de mettre un '\n' qu'un fflush(stdout) en fin de programme pour les problèmes que tu as cités.
29 déc. 2014 à 18:28
Merci pour l'info !
29 déc. 2014 à 20:41
29 déc. 2014 à 21:44
Donc, tu auras s=0, puis s=13, s=26, ainsi de suite.
Si tu n'as pas ça, recompile-le. Si ça ne marche toujours pas, recréée un programme et profites-en pour le corriger comme dit plus haut.