无法将argv传递给函数

pr1*_*m3x 3 c

这是我的计划.

#include <stdio.h>

void help(const char *argv);

int main(int argc, const char *argv[]) {

    const char *p;
    int x;

    for(x = 0; x < argc; x++) {
        p = argv[x];
        if(*p == '-') {
            p++;
        }
        switch(*p) {    
            case 'h':
                help(*argv);
                return 0;
            break;
        }
    }
    return 0;
}

void help(const char *argv) {
    fprintf(stderr, "Usage %s: [option]\n", argv[0]);
}
Run Code Online (Sandbox Code Playgroud)

问题是在编译过程中我得到了

警告:格式'%s'需要类型'char*',但参数3的类型为'int'

如何在帮助功能中打印程序名称?

Joe*_*Joe 11

那应该是

help(argv); 
Run Code Online (Sandbox Code Playgroud)

void help(const char **argv) {
    fprintf(stderr, "Usage %s: [option]\n", argv[0]);
}
Run Code Online (Sandbox Code Playgroud)

使用a char**因为你传递的是一个字符串数组(也就是指向char的指针).