【问题标题】:C programming- How to check if array index contains a specific character (-n)? [duplicate]C编程-如何检查数组索引是否包含特定字符(-n)? [复制]
【发布时间】:2025-11-28 08:30:02
【问题描述】:
int main(int argc, char const *argv[]) {
    if (argv[1] == '-n')
    {
        printf("Hello");
    }
}

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

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

【问题讨论】:

  • argv 是一个字符串的数组。 '-n' 是一个多字符常量,而不是字符串。并不是说您无论如何都使用== 来比较字符串。
  • 是的,这是重复的。感谢您的回答!
  • -n 不是字符...

标签: c


【解决方案1】:

argv[1] 值代表一个字符串,它是一个字符指针类型,而'-n' 是一个多字节字符常量(一个整数)。这就是你得到 "pointer and integer" 不匹配的原因。

你应该在这里使用 string 比较函数,例如:

// Make sure you HAVE an argument, then use string comparison to check.

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

【讨论】:

    最近更新 更多