我正在开发一个应用 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)