cari

Rumah  >  Soal Jawab  >  teks badan

c - atof sentiasa mengembalikan 0.0 di bawah platform Linux

Kod adalah seperti berikut

#include<stdio.h>

int main(){


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

   return 0;
}

Hasilnya sentiasa 0.000000, bukan 123.3, kenapa?

PHP中文网PHP中文网2747 hari yang lalu1096

membalas semua(1)saya akan balas

  • 迷茫

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

    Kerana anda tidak memasukkan stdlib.h ( ゜ロ゜)”
    Ini adalah lubang tersembunyi. Oleh kerana anda tidak memasukkan fail pengepala, tiada pengisytiharan fungsi Tanpa pengisytiharan fungsi, nilai pulangan lalai bagi fungsi perpustakaan ialah jenis int.
    Jika anda menambah -Wall semasa menyusun, ia akan memberitahu anda dengan jelas bahawa ia tidak diisytiharkan.

    balas
    0
  • Batalbalas