将字符串转换为 double

标签 c string pointers double constants

我正在尝试将字符串 (const char* argv[]) 转换为 double 精度浮​​点数:

int main(const int argc, const char *argv[]) {
    int i;
    double numbers[argc - 1];
    for(i = 1; i < argc; i += 1) {
        /* -- Convert each argv into a double and put it in `number` */
    }
    /* ... */
    return 0;
}

谁能帮帮我?谢谢

最佳答案

使用sscanf (Ref)

sscanf(argv[i], "%lf", numbers+i);

strtod (Ref)

numbers[i] = strtod(argv[i], NULL);

顺便说一句,

for(i = 1; i < argc, i += 1) {
//-----------------^ should be a semicolon (;)

-->

关于将字符串转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2892998/

相关文章:

c - 错误: return value type does not match the function type

c - 寻找用 C 实现的快速排序整数数组交集/union 算法

php - 无法让 str_replace() 去除 PHP 字符串中的空格

pointers - 汇编程序指针地址 - 它如何获取它

c++ - libc++ 的 std::basic_string 的 16 字节对齐模式背后的原因是什么?

ruby - 如何找到在另一个字符串中指定索引之前出现的字符串的第一个索引?

c++ - 从 map 中删除对象指针时避免内存泄漏

c - 通过管道系统调用生成斐波那契数列的程序

c - 为什么这些构造使用前后递增的未定义行为?

c - 通过 TCP 端口发送多条消息