这段代码的论据是什么?

时间:2014-10-16 14:31:21

标签: c

我有以下代码,我想知道两件事 这个表达式(* ++ 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;  
}  

1 个答案:

答案 0 :(得分:0)

1)将切换 x 案例的参数为 -x / n -n

2)将切换默认的参数是&#39; - &#39;其次是除 x n 之外的所有字符(例如 -a -P

3)不会转换的论点是那些不会以&#39; - &#39;

开头的论点