Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 : bt_pre.png)
  - 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