C - Управление многими метками с помощью goto-операторов - PullRequest
1 голос
/ 04 апреля 2019

Хорошего дня,

Мне нужно разработать программу с максимально возможным количеством goto -статий и labels. Итак, мой вопрос, как можно легко справиться с этим?

Я хотел бы реализовать один goto за if / else / while. Не знаю, как правильно с этим справиться ...

Предположим, что в main () есть код в следующей форме:

while (...)
{
  y = 4 + 3;
  y = ...;

  if (...)
  {
    x = x - 5;

    if (...)
    {
      // do something
    }
    else if (...)
    {
      if (...)
      {
        // do something
      }
    }
    else
    {
      i = 10 + x;

      if (...)
      {
        // do something
      }
      else
      {
        // do something
      }
    }
  }
 ...
}
...
return 0;

В конце я хотел бы получить код в виде следующей формы:

while (...)
{
  ...
  goto PRIMARY_IF;
  ...
}

PRIMARY_IF:
  ...
  ...
END_PRIMARY_IF:

...

Каков наилучший способ преобразовать этот код в правильный с использованием labels и gotos для каждого if / else / while?

Буду признателен за любую помощь! Заранее спасибо!

...