#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void GetOption(int argc, char * argv[]);
int main() {
int argc;
char argv;
argv = GetOption(argc, argv);
//argv=GetOption(argv);
/* Character buffer. */
}
void GetOption(int argc, char * argv[]) {
int m, n, /* Loop counters. */
l, /* String length. */
x, /* Exit code. */
ch;
for (n = 1; n < argc; n++) /* Scan through args. */ {
switch ((int) argv[n][0]) /* Check for option character. */ {
case '-':
case '/':
x = 0; /* Bail out if 1. */
l = strlen(argv[n]);
for (m = 1; m < l; ++m) /* Scan through options. */ {
ch = (int) argv[n][m];
switch (ch) {
case 'a':
/* Legal options. */
case 'A':
case 'b':
case 'B':
case 'x':
case 'X':
case 'v':
case 'V':
case 'z':
case 'Z':
case 'r':
case 'R':
printf("Argument = %c called\n", ch);
break;
default:
printf("Illegal option code = %c\n", ch);
x = 1; /* Not legal option. */
//exit(1);
//break;
}
}
}
}
}
我试图从main调用switch语句但我不能。我指定了我想要使用的案例,但是可以从main调用switch case吗?我应该将包含switch语句的第二个函数转换为if语句吗?
答案 0 :(得分:1)
将main的声明更改为:
int main(int argc, char * argv[]) {..
然后摆脱两个当地人:
int argc;
char argv;
然后看看你是怎么过的。
哦 - 并修复@Fred和其他人发布的返回类型和其他内容:)
答案 1 :(得分:0)
int main(int argc, char * argv[])
{
GetOption(argc,argv);
}