Maison  >  Questions et réponses  >  le corps du texte

c - atof renvoie toujours 0,0 sous la plateforme Linux

Le code est le suivant

#include<stdio.h>

int main(){


   char* s = "123.3";
   double d = atof(s);
   printf("%lf\n", d);

   return 0;
}

Le résultat est toujours 0,000000, pas 123,3, pourquoi ?

PHP中文网PHP中文网2662 Il y a quelques jours1037

répondre à tous(1)je répondrai

  • 迷茫

    迷茫2017-07-05 10:47:54

    Parce que vous n'avez pas inclus stdlib.h ( ゜ロ゜) »
    C'est une fosse cachée. Étant donné que vous n'avez pas inclus le fichier d'en-tête, il n'y a pas de déclaration de fonction. Sans déclaration de fonction, la valeur de retour par défaut de la fonction de bibliothèque est de type int.
    Si vous ajoutez -Wall lors de la compilation, cela vous indiquera clairement qu'il n'est pas déclaré.

    répondre
    0
  • Annulerrépondre