fonction de pow en C
J'écris un code C qui ont fonction de la puissance qui est des mathématiques.h la bibliothèque. lorsque j'ai compilé mon programme, j'ai reçu un message d'erreur qui est "undefined reference to" pow " fonction ", je compile mon programme en utilisant le compilateur gcc (fedora 9).
Je insérez -lm drapeau à gcc ensuite, l'erreur est omise, mais la sortie de la fonction pow est de 0.
#include<math.h>
main()
{
double a = 4, b = 2;
b = pow(b,a);
}
Quelqu'un peut m'aider? Est il y a un problème dans mon compilateur??
Grâce.
source d'informationauteur hamb
Vous devez vous connecter pour publier un commentaire.
Votre programme n'a pas de sortie quoi que ce soit.
Le 0 vous faites allusion est probablement le code de sortie, qui sera 0 si vous n'avez pas explicitement retour de
main
.Essayez de la remplacer par une conforme aux normes de signature et de retour
b
:Remarque que les valeurs de retour est essentiellement limitée à 8 bits, la valeur de l'information, de façon très, très limité.
Utilisation
printf
pour afficher la valeur.Vous doit utiliser une virgule flottante conversion spécificateur (
f
g
oue
) pour imprimerdouble
valeurs. Vous ne pouvez pas utiliserd
ou autres et de s'attendre à un résultat homogène. (Ce serait en fait un comportement indéfini.)Pour tous ceux qui cherchent une réponse:
Cela ne fonctionnera pas:
Il va produire quelque chose comme ceci:
Cela fonctionne:
Il vous manque le printf ligne pour imprimer la valeur de la sortie standard stdout.
Essayez celui-ci:
La sortie sera:
Il est confusion en ce qui concerne la base et l'exposant. Ce n'est pas immédiatement apparente, car les deux 2^4 et 4^2 égal à 16.