C从参数字符串解析double

Lan*_*opp 8 c parsing arguments

我正在尝试解析C中的参数值并将数字转换为double值.我有:

char *stringEnd; double num = strtod("123.0", &stringEnd);

我使用123.0来测试函数,但它总是返回0.0的值.有人知道我做错了什么吗?

Joh*_*ter 8

你是否包括相关标题?即:#include <stdlib.h>

首先(你应该一直这样做),尝试编译所有警告(-Wall在GCC上).

如果您收到有关strtod未定义的警告,则会显示问题的来源.

这是一个讨厌的,因为C将隐式声明它没有原型作为返回int的任何函数!