将字符串转换为double

4 c string double pointers const

我试图将string(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;
}
Run Code Online (Sandbox Code Playgroud)

谁能帮我?谢谢

ken*_*ytm 9

使用sscanf(参考)

sscanf(argv[i], "%lf", numbers+i);
Run Code Online (Sandbox Code Playgroud)

strtod(参考)

numbers[i] = strtod(argv[i], NULL);
Run Code Online (Sandbox Code Playgroud)

顺便说一句,

for(i = 1; i < argc, i += 1) {
//-----------------^ should be a semicolon (;)
Run Code Online (Sandbox Code Playgroud)

- >