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");
}