如何在c ++中的do-while循环中使用if语句终止for循环?

时间:2017-06-16 03:56:39

标签: c++

在do-while循环中,我正在使用for循环读取向量的值。该向量具有重复值。我想使用if语句停止for循环。

do {
   /* some statement1*/
     for(int i = 0; i < n; ++i )
       {
         if (vec[i] == a)
           {
            /* some statement2*/
           }  
       } //here i want to terminate the for loop once it finds value a in vector 
   } while (statement3);
我用过休息;但它也终止了while条件。

2 个答案:

答案 0 :(得分:2)

您的代码有多个语法错误,即缺少内循环/ if条件的右括号。只有一个闭合支撑。这是break代码的正确版本,应该是:

do
{
    /* some statement 1 */
    for( int i = 0; i < n; ++i )
    {
        if ( vec[i] == a )
        {
            /* some statement 2 */
            break;
        }
    }

} while ( condition );

而且,它应该工作。它只会break内部for循环 - 而不是外部do-while

答案 1 :(得分:1)

使用break像这样:

do {
  /* some statement1*/
  for (int i = 0; i < n; ++i ) {
    if (vec[i] == a) {
      break;
    }
  } 
} while (statement3);