我有以下代码,我想知道两件事 这个表达式(* ++ argv)中的第一个是什么以及这个表达式在用[0]之后意味着什么? 让我们说这个程序名为" program"命令行中的参数示例不会导致默认值,但会导致其他两个或一个案例? 2)命令行中的参数示例将导致默认值? 3)和一个不会导致开关情况或默认情况下的例子..
#include <stdio.h>
int main(int argc, char *argv[])
{
int c, except = 0, number = 0;
while ((--argc) > 0 && (*++argv)[0] == '-')
while (c = *++(argv[0]))
switch (c) {
case 'x':
except = 1;
break;
case 'n':
number = 1;
break;
default:
printf(" illegal option %c\n", c);
exit(-1);
break;
}
..more code
return 0;
}
答案 0 :(得分:0)
1)将切换 x 案例的参数为 -x / n -n <强>
2)将切换默认的参数是&#39; - &#39;其次是除 x 和 n 之外的所有字符(例如 -a 或 -P )
3)不会转换的论点是那些不会以&#39; - &#39;
开头的论点