Pages : 1
#1 Le 29/06/2013, à 23:38
- bouabba
probleme
bonjours
j'ai un probleme lorsque je compile le prog suivant:
il m'affiche undefined reference to 'sqrt'
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
main()
{
/* Pour ne pas perdre de précision lors de la division, */
/* déclarons P comme rationnel. */
int A, B, C;
float P;
printf("Introduisez les valeurs pour A, B et C : ");
scanf("%d %d %d", &A, &B, &C);
/* En forçant la conversion de A, les autres opérandes */
/* sont converties automatiquement. */
P=((float)A+B+C)/2;
printf("Surface du triangle S = %f\n",sqrt(P*(P-A)*(P-B)*(P-C)));
return 0;
}
il m'affiche undefined reference to 'sqrt'
merci de m'aider svp
Hors ligne
#2 Le 30/06/2013, à 07:53
- Shanx
Re : probleme
Salut
Là, tu as deux problèmes :
- tu as mis sqrt alors qu’il aurait fallut mettre sqrtf étant donné que tu veux un float
- et tu n’as pas mis les bonnes options pour la compilation. Tu utilises probablement gcc pour celle-ci, et il faut que tu ajoutes l’option lm. Par exemple, si ton code s’appelle surface.c, tu devrais utiliser cette commande pour compiler :
gcc surface.c -o surface -lm
Sinon, quelques remarques pour la prochaine fois :
- pense à mettre un titre plus explicite (par exemple “problème avec sqrt en C”)
- utilise les balises code (ce symbole au dessus de la zone de texte : )
- et surtout, pense à utiliser la fonction man. La commande suivante aurait répondu à toutes tes questions :
man sqrt
Dernière modification par Shanx (Le 30/06/2013, à 07:54)
Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied
Hors ligne
#3 Le 01/07/2013, à 15:43
- bouabba
Re : probleme
merci pour votre reponse shanx
Hors ligne
Pages : 1