所以我有一个字符数组(大小为 5),每个索引包含一个字符,并且我正在获取用户输入的字符以在数组中搜索。但我不确定如何检查 char cInput 是否存在于数组的所有索引中。

char cLetters[5] = {'b', 'b', 'b', 'b', 'b'};
char cInput;
cout << "Enter a character to search for: ";
cin >> cInput;

我不应该这样做吗?
if(cInput == cLetters[0] && cInput == cLetters[1] && cInput == cLetters[2]
&& cInput == cLetters[3] && cInput == cLetters[4])
          return true;

特别是如果数组的大小是 200,我不会写那个条件 200 次。

有任何想法吗?

最佳答案

<algorithm> std::all_of 中使用 C++11 算法。

示例代码:

#include <algorithm>
#include <iostream>

int main() {
    char x[] = { 'b', 'b', 'b', 'b', 'b' };
    if(std::all_of(std::begin(x), std::end(x), [](char c) { return c == 'b'; })) {
        std::cout << "all are b!";
    }
}

关于c++ - 检查数组的所有索引中是否存在值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20590733/

10-10 04:34