【发布时间】:2016-01-14 16:09:32
【问题描述】:
我正在用 C 语言编写一个带有多个命令行参数的程序。 argv[1] 将是单个字符“选项”,可以是“a”或“b”或“c”,每个选项都会导致程序以不同的方式运行。我想以 if 语句开始我的程序的 main() 方法,该语句检查用户在命令行上指定的选项是否正确,即“a”或“b”或“c”,仅此而已.
我的代码:
int main (int argc, char *argv[])
{
if (argv[1] != 'a' || 'b' || 'c') printf("Failure\n");
else printf("Success\n");
}
当我编译这段代码时,我收到了这个警告:
warning: comparison between pointer and integer
我知道我误用了指向 char 数组的指针,但我不明白我是怎么回事。
【问题讨论】:
标签: c pointers if-statement command-line-arguments argv