Как вернуться к вершине «main» после выполнения пустоты за пределами «main» - PullRequest
0 голосов
/ 29 марта 2019

Как можно вернуться к вершине main после полного выполнения функции?

пример кода:

#include <stdio.h>

void function();

int main(int argc, char const *argv[]) {
  // GET BACK TO HERE AFTER EXECUTING "FUNCTION();"
  printf("Something here\n");
  printf("Something here\n");
  printf("Something here\n");
  printf("Something here\n");
  printf("Something here\n");
  function();
}

function(){

}

1 Ответ

0 голосов
/ 29 марта 2019

Используйте цикл while:

#include <stdio.h>
int main() {
  bool keep_going = true;
  while (keep_going) {
    // Your main() code here.
    function();
    // Don't forget to set keep_going to false at some point so the program terminated.
  }
  return 0;
}

Приведенная выше конструкция является циклом while.Он продолжает выполнять тело цикла (между фигурными скобками) до тех пор, пока условие в начале цикла не станет ложным.

Не использовать goto. Goto, пока он работает, обычно считается«злые» конструкции, подобные макросам, усложняют отслеживание хода программы и, как правило, приводят к спагетти-коду.Цикл while отлично работает здесь и считается хорошим стилем программирования.

Для ясности, goto (подобно макросам) существует, потому что он полезен в некоторых случаях.Но такие случаи встречаются не часто, и, пометив их как «злые», человек понимает, что следует избегать использования этой функции, если существуют лучшие альтернативы (например, циклы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...