如何检查c中的char数组中某个char是否出现两次?

问题描述 投票:0回答:1

我想检查一个字符是否在字符数组中出现两次,但是

strchr()
将返回第一次出现的字符的位置。

我正在考虑像 Python 那样对数组进行切片

arr[3:]
,从第三个元素开始考虑。 C有这样的能力吗?

如果没有,这个问题的最佳解决方案是什么?

我可以用

for loop
if else
global variables
自己做吗?

arrays c strchr
1个回答
0
投票

但是

strchr()
将返回第一个出现的字符的位置。

您可以拨打

strchr
两次:

bool does_char_exist_twice( const char *str, char c )
{
    const char *p;

    p = strchr( str, c );
    if ( p == NULL )
        return false;

    return strchr( ++p, c ) != NULL;
}
© www.soinside.com 2019 - 2024. All rights reserved.