如何在for循环中包含两个索引值测试条件?

我想解析一个字符串,用于数组语法(分别找到'['和']'的位置)

string arrangements="a[1]";

所以我试图为时间复杂度目的在一个for循环中做。
我试过了
for(int i=0; i<arrangements.size();i++){

if(arranements[i]=='['){
        cout<<"square opening is at : "<<i<<endl;

  while(arrangements[i]==']' ){

  cout<<"square closing is at : "<<i<<endl;
           i++;
        }
}
}

我什至试过
for(int i=0; i<arrangements.size();i++){


  while(arrangements[i]==']' && arrangements[i]=='['){

  cout<<"square closing is at : "<<i<<endl;
           i++;
        }
}
}

对不起,我没有与任何人保持联系,因此感谢您对好人的帮助。

最佳答案

您可以使用if...else ifswitch
if...else if的情况:

const int size = arrangements.size();
for(int i = 0; i < size; ++i)
{
  const char a = arrangements[i];
  if(a == '[')
    cout << "square opening is at : " << i << endl;
  else if(a == ']')
    cout << "square closing is at : " << i << endl;
}

09-07 11:13