这是我的计划.
#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的指针).