Problème compilation [débutant]
Résolu
Bonjour, voila mon problème, lorsque je souhaite compiler ce programme, j'ai pour erreur : `abs' undeclared (first use this function)
Merci de m'aider.
PS : j'ai une deuxième question, dans ce mini prog, pourquoi la fenêtre lorsque j'execute le prog se ferme t elle directement ?
Merci beaucoup :)
#include "stdio.h" int main() { int A,B,diff; printf("entre la de valeur A"); scanf("%d",&A); printf("entre la de valeur B"); scanf("%d",&B); while (A!=B) { diff=abs(A-B); if (A>B) A = Diff; else B = Diff; } printf("le pgcd est est %d/n", A); return 0; }
Merci de m'aider.
PS : j'ai une deuxième question, dans ce mini prog, pourquoi la fenêtre lorsque j'execute le prog se ferme t elle directement ?
#include "stdio.h" int main() { printf("laurent tas interet à m'avoir ramener mes cds!"); return 0; }
Merci beaucoup :)
A voir également:
- Problème compilation [débutant]
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Breach compilation c'est quoi - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Platine dj debutant - Forum Enregistrement / Traitement audio
2 réponses
1er programme
Pour commencer les headers standards sont entre <> (seuls tes headers sont entre " ") :
Ensuite la fonction abs n'existe que si tu compiles avec la librairie mathématique (option -lm pour gcc) :
Mais sinon le plus simple c'est de redéfinir toi même la fonction abs :
2e programme
Même remarque pour le header.
La fenêtre se ferme car windows tue la console dans laquelle est exécuté le programme dès que celui-ci prend fin (je suppose que tu lances ton programme en double cliquant dessus dans l'explorateur de fichier). Soit il faut lancer le programme depuis une console msdos (démarrer éxecuter cmd), soit il faut rajouter l'instruction
... devant le "return 0;" du main.
Bonne chance
Pour commencer les headers standards sont entre <> (seuls tes headers sont entre " ") :
#include <stdio.h> #include <math.h>
Ensuite la fonction abs n'existe que si tu compiles avec la librairie mathématique (option -lm pour gcc) :
gcc -W -Wall -lm -o plop.exe plop.c
Mais sinon le plus simple c'est de redéfinir toi même la fonction abs :
int abs(int x){ if (x<0) return x; return -x; } int main(){ ... }
2e programme
Même remarque pour le header.
La fenêtre se ferme car windows tue la console dans laquelle est exécuté le programme dès que celui-ci prend fin (je suppose que tu lances ton programme en double cliquant dessus dans l'explorateur de fichier). Soit il faut lancer le programme depuis une console msdos (démarrer éxecuter cmd), soit il faut rajouter l'instruction
getchar();
... devant le "return 0;" du main.
Bonne chance
Merci beaucoup !
pour obtenir la valeur absolue ce n'est pas plutôt ou si on utilise l'opérateur < lami20j