цель C для разрыва замкнутой цепи и продолжается

Как я могу использовать оператор 'повреждения' в для цикла, который продолжается, формируют указанную маркировку?

исключая;

outer: for(int i = 0;i<[arABFBmatches count];i++){
    for(int i = 0;i<[arABFBmatches count];i++){
        //
        break _____;
    }
}

Как повредиться к внешнему?

37
задан Sukitha Udugamasooriya 14 July 2010 в 05:25
поделиться

2 ответа

Трудно сказать из вашего вопроса. Я бы понял, что вы хотите пропустить оставшиеся итерации внутреннего цикла и продолжить внешний цикл?

for (int i = 0; i < [arABFBmatches count]; i++) {
    for (int j = 0; j < [arABFBmatches count]; j++) {
        if (should_skip_rest)
            break; // let outer loop continue iterating
    }
}

Обратите внимание, что я изменил имя вашего инварианта внутреннего цикла; использование i в обоих вызывает безумие.

Если вы хотите прервать оба цикла, я бы не стал использовать goto. Я бы сделал:

BOOL allDoneNow = NO;
for (int i = 0; i < [arABFBmatches count]; i++) {
    for (int j = 0; j < [arABFBmatches count]; j++) {
        if (should_skip_rest) {
            allDoneNow = YES;
            break;
        }
    }
    if (allDoneNow) break;
}
106
ответ дан 27 November 2019 в 04:06
поделиться

Грубо:

for(int i = 0;i<[arABFBmatches count];i++){
    for(int j = 0;j<[arABFBmatches count];j++){
        //
        goto outer_done;
    }
}
outer_done:

Objective-C не имеет маркированного разрыва.

10
ответ дан 27 November 2019 в 04:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: