Приоритет операторов в выражениях должен быть сделан явным
Приоритет операторов в выражениях должен быть явным.
Язык C имеет большое количество операторов, и их приоритет не интуитивен. Неопытные программисты могут легко совершать ошибки. Удалите любую неоднозначность с помощью круглых скобок, чтобы явным образом задать приоритет оператора.
В следующей таблице перечислены MISRA C® определение приоритета оператора для этого правила.
Описание | Оператор и операнд | Приоритет |
---|---|---|
Предварительные выборы | идентификатор, константа, строковый литерал, (выражение) | 16 |
Постфикс | [] () (вызов функции) . -> ++ (после постшага) -- (после сокращения) () {} (C99: составные литералы) | 15 |
Одноместный |
| 14 |
Бросок | () | 13 |
Мультипликативный | * / % | 12 |
Добавка | + - | 11 |
Битовый сдвиг | << >> | 10 |
Относительный | <> <= >= | 9 |
Равенство | == != | 8 |
Побитовые И | & | 7 |
Битовый XOR | ^ | 6 |
Побитовое ИЛИ | | | 5 |
Логический И | && | 4 |
Логический ИЛИ | || | 3 |
Условный | ?: | 2 |
Назначение | = *= /= += -= <<= >>= &= ^= |= | 1 |
Запятая | , | 0 |
Операнд логического% s не является основным выражением. Приоритет операторов в выражениях должен быть явным.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Выражения |
Категория: Консультационные |
Категория СМЖЛ: Консультационная |