Перезапуск программы без оператора GOTO - C (СИ)
Формулировка задачи:
Пусть имеется данный код:
Как убрать оператор GOTO, чтобы программа перезапускалась? У меня код размером гораздо больше, но мне нужна сама механика перезапуска.
#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»
textual
Листинг программы
if(argc++ < 10) {
main(argc, argv);
}
Объяснение кода листинга программы
- Проверка условия:
if(argc++ < 10). - Если условие истинно, то выполняется команда
main(argc, argv);. - Передача аргументов функции
mainс измененным значениемargcиargv. - Увеличение значения
argcна единицу. - Если условие ложно, то программа продолжает работу.