c语言中getopt的回归

问题描述

我对 getopt 的回归感到很困惑。它什么时候返回 (-1) ?

当我将它分配给一个 int 变量时,如果我没有在终端窗口中写入任何选项,它会返回 (-1)。而即使我写了多个选项,它也会返回 ascii 中的第一个选项字符。

但是在不赋值的情况下使用它时,如果我写了多个选项,它会返回 (-1)。

关于附加的图像,尽管值等于 -1,但它是如何输入错误消息的?

The Statments

The results

解决方法

在带有 2 个参数的示例中,每次调用 getopt 时都会返回不同的值。第一次它会返回 'a' 然后它会返回 'b' 并且最后一次它没有更多的选项可以读取并返回 -1

它应该在这样的循环中处理 https://www.tutorialspoint.com/getopt-function-in-c-to-parse-command-line-arguments