MISRA C:2012 Rule 15.1

Оператор goto не должен использоваться

Описание

Определение правила

Оператор goto не должен использоваться.

Объяснение

Неограниченное использование goto операторы делают программу неструктурированной и трудной для понимания.

Поиск и устранение проблем

Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».

Примеры

расширить все

void foo(void) {
    int i = 0, result = 0;

label1:
    for ( i; i < 5; i++ ) {
        if (i > 2) goto label2;     /* Non-compliant */
    }

label2: {
        result++;
        goto label1;                /* Non-compliant */
    }
}

В этом примере правило нарушается при goto используются операторы.

Проверяйте информацию

Группа: Управляйте Потоком
Категория: Консультационные
Категория СМЖЛ: Консультационная
Введенный в R2014b