exponenta event banner

MISRA C:2012 Правило 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