MISRA C:2012 Rule-15.4解析
MISRA-C:2012 规则适用于消息 0771:Rule-15.4(建议)对任何迭代语句至多只应有一条break 语句或goto 语句用于循环的结束
规则
1、规则与等级对应关系(QAC)
2、[0771]用于中断循环语句的'break' 语句超过1个
3、用于中断循环语句的'break'语句超过1个,例如:'wh坡纠课柩ile'循环语句、'稆糨孝汶;do ... while'循环语句或者'for'循环语句。如果同一个循环中使用了多个'break'语句,那么代码的结构会变得危险。
官方示例
1、/*PRQA S 2017,3408,3447 ++*/extern int x;extern 坡纠课柩int y;extern int z;extern void foo(int n){ while (n > 0) { --n; if (n == x) { break; /* Message 0769 */ } if (n == y) { break; /* Message 0771 */ } if (n == z) { break; /* Message 0771 */ } }}
修改举例
1、违反规则的例子
2、修改后
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:92
阅读量:70
阅读量:87
阅读量:92
阅读量:33