Оставьте временно цикл if внутри цикла while до следующего вызова функции - PullRequest
0 голосов
/ 16 октября 2018

У меня небольшой вопрос, который может потребовать более длинного и длинного вопроса ... Допустим, есть функция, которая выглядит следующим образом:

type function( type parameter1, type parameter2...etc) {
    // bla bla bla
    while(condition1){
        // blablabla again
        if(condition2){
            // stuff1 happens
            exit(1)
        }
        // stuff2 happens
    }
}

Моя функция (упрощенная) выглядит следующим образом.Допустим, что condition2 состоит в том, что если локальные переменные принимают конкретные значения и после того, как что-то происходит, я хочу покинуть функцию.Однако, если мой основной выглядит так:

int main()
{
    function(p1,p2,p3...); //condition not critical
    function(p4,p5,p6...); //condition is verified
    function(p7,p8,p9...); // this function won't be called since there's an exit that happened in the 2nd call
}

Я хочу знать, как выйти из функции, но не всю программу.

TL; DR: Я хочу выйти из цикла, но войтиэто в следующий раз.

1 Ответ

0 голосов
/ 16 октября 2018

Вам нужно использовать оператор return для возврата из функции, прежде чем достигнуть последнего оператора в этой функции.«break» только разрывает текущий цикл, а «exit» завершает программу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...