c - atof gibt unter der Linux-Plattform immer 0,0 zurück
PHP中文网
PHP中文网 2017-07-05 10:45:54
0
1
1064

Der Code lautet wie folgt

#include<stdio.h>

int main(){


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

   return 0;
}

Das Ergebnis ist immer 0,000000, nicht 123,3, warum?

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(1)
迷茫

因为你没有include stdlib.h啊(」゜ロ゜)」
这是一个隐蔽坑。因为你没有包含头文件,所以就没有函数声明,没有函数声明,则默认库函数的返回值是int型的。
你编译时加上-Wall的话,它会很明确的告诉你没有声明的。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage