首頁  >  問答  >  主體

c - Linux平台下atof總是回0.0

程式碼如下

#include<stdio.h>

int main(){


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

   return 0;
}

結果總是為0.000000,而不是123.3,為什麼?

PHP中文网PHP中文网2662 天前1038

全部回覆(1)我來回復

  • 迷茫

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

    因為你沒有include stdlib.h啊(”゜ロ゜)」
    這是一個隱藏坑。因為你沒有包含頭文件,所以就沒有函數聲明,沒有函數聲明,則預設函式庫函數的回傳值是int型的。
    你編譯時加上-Wall的話,它會很明確的告訴你沒有聲明的。

    回覆
    0
  • 取消回覆