C编程-如何检查数组索引是否包含特定字符(-n)?

C编程-如何检查数组索引是否包含特定字符(-n)?,c,C,当我运行这个程序时,我得到一个“警告-指针和整数之间的比较”错误。我该如何解决这个问题 我通过打印检查了argv[1]是否包含-n。argv[1]值表示字符串,它是字符指针类型,而'-n'是多字节字符常量(整数)。这就是为什么“指针和整数”不匹配的原因 您应该在此处使用字符串比较函数,例如: int main(int argc, char const *argv[]) { if (argv[1] == '-n') { printf("Hello"); }

当我运行这个程序时,我得到一个“警告-指针和整数之间的比较”错误。我该如何解决这个问题


我通过打印检查了
argv[1]
是否包含
-n

argv[1]值表示字符串,它是字符指针类型,而
'-n'
是多字节字符常量(整数)。这就是为什么“指针和整数”不匹配的原因

您应该在此处使用字符串比较函数,例如:

int main(int argc, char const *argv[]) {
    if (argv[1] == '-n')
    {
        printf("Hello");
    }
}

argv
是一个字符串数组<代码>'-n'是一个多字符常量,而不是字符串。并不是说您使用
==
来比较字符串。是的,这是重复的。谢谢你的回答-n不是一个角色。。。
// Make sure you HAVE an argument, then use string comparison to check.

if ((argc > 1) && (strcmp(argv[1], "-n") == 0)) {
    printf("hello"); 
}