检查没有额外变量的数组字符串字符值

Check an Array String character value without extra variable

假设我有这个代码:

    string str[] = {"devil", "chandra"};
    // check if str[0] has properly devil, character by character  or not without extra variable

现在我想检查str[0]的所有字符是'd','e','v','i','l'一个一个没有额外的变量。 额外的可变代码将是:

string n1 = "devil";

for(int i=0; i<1; i++){
   string s1 = str[i]
   for(int j=0; j<s1.size(); j++){
   if(s1[i] == n[i]){
   cout << s1[i] << " ";
  }
}

基本上,我想要 O(n) 循环,我可以在其中访问所有索引字符串以及其中的所有字符。

就像 s[i] 是“魔鬼”和 s[[i]] = 'd' 这样的东西,知道它是无效的,但有什么办法可以做到这一点? 连我都不知道这是不是一个有效的问题!

我不确定您为什么需要一个额外的变量。如果您需要一个条件来检查字符串数组中的第一个值是否为“魔鬼”,它应该不会比以下更复杂:

if (str[0] == "devil")
{
    * Do things *
}

C++ 可以一次检查一个标准字符串。如果这是您的想法,则无需检查每个单独的字符。

请记住,这不会考虑字符串不完全相同的情况。例如,如果 str[0] 有“Devil”而不是“devil”,则条件将计算为 false。