break; is an unstructured control flow statement which makes code harder to read.
Ideally, every loop should have a single termination condition.
Noncompliant code example
for (element = list.first; element != null; element = element->next) { // First termination condition
  if (!matches(element->value)) {                                      // Second termination condition
    break; // Noncompliant
  }
  /* ... */
}
Compliant solution
// Compliant
for (element = list.first; element != null && matches(element->value); element = element->next) {
  /* ... */
}