☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

do-while 循环体应该用大括号括起来

9.4.3 ID_do_brace
目录 › next › previous

do-while 循环体应为大括号括起来的复合语句,即使该复合语句只包含一条语句。

示例:

do              // Non-compliant
    if (cond)
        break;
    while (*p++ = *q++);
while (true);

例中 while 关键字与 do 关键字产生了错误的对应关系,导致最后一个 while 形成了死循环,应改为:

do {              // Compliant
    if (cond) {
        break;
    }
    while (*p++ = *q++);
}
while (true);

相关

ID_for_brace ID_if_brace ID_switch_brace ID_while_brace

参考

MISRA C 2004 14.9 MISRA C 2012 15.6 MISRA C++ 2008 6-3-1
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.