问题描述
例如:
$ ./program -a //line 1
$ ./program -b //line 2
如果我在终端输入1行,我希望它打印“ Hi” 如果我在终端输入2行,我希望它打印“再见”
这是我当前的逻辑,在C语言中不起作用:
int main (int argc,char *argv[])
{
if (argv[1] == "-a"){
printf("Hi");
} else if (argv[1] == "-b")
{
printf("Bye");
}
有人可以帮助我修复我的代码以实现我的目标吗?
谢谢!
解决方法
您应该使用strcmp()
来比较C语言中的字符串。
#include <stdio.h>
#include <string.h> /* for strcmp() */
int main (int argc,char *argv[])
{
if (strcmp(argv[1],"-a") == 0){
printf("Hi");
} else if (strcmp(argv[1],"-b") == 0)
{
printf("Bye");
}
return 0;
}