小编Sim*_*kel的帖子

使用 && 和 || 时违反 MISRA 12.5 在 if 语句中

我正在开发一个应用 MISRA 2004 的项目。

对于大多数违规行为,我都找到了原因,但有一个我不明白:

它在 if 语句中带有&&||操作。

例子:

uint8 getValue()
{
   // Some algorithm, simplified with return 1
   uint8 someValue = 1u;
   return someValue;
}
int main(int argc, char *argv[]) {
    uint8 currentState = 0u;
    uint8 var_a = getValue();
    uint8 var_b = getValue();
    uint8 var_c = getValue();
    uint8 var_d = getValue();

    const uint8 const_a = 1u;
    const uint8 const_b = 2u;
    const uint8 const_c1 = 3u;
    const uint8 const_c2 = 30u;
    const uint8 const_d = …
Run Code Online (Sandbox Code Playgroud)

c boolean-logic if-statement misra

7
推荐指数
1
解决办法
835
查看次数

标签 统计

boolean-logic ×1

c ×1

if-statement ×1

misra ×1