Если предположить, что задействовано больше кода, поэтому очевидное
while(x+y == z)
{
}
невозможно, вы можете использовать дополнительную переменную для пометки статуса цикла.
do_loop = 1;
while (do_loop)
{
// more code
do_loop = (x+y == z);
if (do_loop)
...
}
Он предлагаетбольше возможностей, особенноесли задействовано более глубокое вложение, так как break;
оставит только самый внутренний цикл.Конечно, вы должны использовать более точное наименование для условия вместо общего do_loop
, например, coords_are_equal
.
Если все альтернативы хуже, включая этот, то просто прокомментируйте его как есть: «Всеальтернативы оказываются хуже этого. "