【问题标题】:Check if char is existing in array检查char是否存在于数组中
【发布时间】:2013-10-03 11:39:09
【问题描述】:

我正在 arduino 中创建项目。 在 C 中,如何检查我的数组中是否存在 return char?

这就是我想要的。

char n[20];
char *adminName[] = {"Jane", "Joe", "James"};

如果(n) 在我的列表中,我想返回true

【问题讨论】:

  • 这里是duplicate
  • @captain 不是该帖子的真正副本,因为该帖子请求字符黑名单。不过,可能还有很多其他人要求这样做。

标签: c arrays arduino


【解决方案1】:

遍历数组索引并使用strcmp(n, adminName[i]) == 0 来测试字符串n 是否是数组的一部分。

【讨论】:

    【解决方案2】:

    为此有许多内置函数。为什么不能使用这些功能而不是通过循环手动检查?

    【讨论】:

    • 有在字符串数组中搜索字符串的内置函数吗?哪一个?
    • 听起来像Java或C++,C中没有这个功能。
    【解决方案3】:

    您必须使用 strcmp() 检查 2 char * 之间的差异

    char n[20];
    char *adminName[] = {"Jane", "Joe", "James"};
    int  i;
    
    i = 0;
    while (admminName[i])
     {
        if (strcmp(n, adminName[i]) == 0)
          return (true); 
        i++;
     }
    return (false);
    

    【讨论】:

    • adminName[] 数组没有 NULL 条目 - 您的 while 循环将超出数组的末尾。
    猜你喜欢
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 2016-10-22
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多