我需要将一个double传递给我的程序,但以下内容不起作用:
int main(int argc,char *argv[]) { double ddd; ddd=atof(argv[1]); printf("%f\n",ddd); return 0; }
如果我以./myprog 3.14运行我的程序,它仍会打印0.000000.
有人可以帮忙吗?
解决方法
我的猜测是你忘了包含#include< stdlib.h>.如果是这种情况,gcc将发出以下警告:
warning: implicit declaration of function 'atof' [-Wimplicit-function-declaration]
并提供您提供的确切输出:0.000000.