Перезапуск программы без оператора GOTO - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Пусть имеется данный код:
#include <stdio.h>
int main(){
 
a: ;
 
int a, b, c;
 
a = 4;
 
b = 5;
 
c = 12;
 
printf("#d", a + b + c);
 
getchar();
 
goto a;
 
}
Как убрать оператор GOTO, чтобы программа перезапускалась? У меня код размером гораздо больше, но мне нужна сама механика перезапуска.

Решение задачи: «Перезапуск программы без оператора GOTO»

textual
Листинг программы
if(argc++ < 10) {
    main(argc, argv);
}

Объяснение кода листинга программы

  1. Проверка условия: if(argc++ < 10).
  2. Если условие истинно, то выполняется команда main(argc, argv);.
  3. Передача аргументов функции main с измененным значением argc и argv.
  4. Увеличение значения argc на единицу.
  5. Если условие ложно, то программа продолжает работу.

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы