我需要向我的程序传递一个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
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句