@lxr

Когда заврешается выполнение функции?

Добрый вечер. Интересует следующий вопрос: Если в самом конце функции я запускаю другую функцию, то первая ждёт её завершения? Или запустив функцию завершает свою работу?
void foo1(){
	// - тело подпрграммы foo1
	foo2();
}

void foo2(){
	// - тело подпрограммы foo2
	foo1();
}

int main(){
	foo1();
	
	return 0;
}


5d6d67546b4d9214474500.png

Например у меня есть функция menu() (текстовый интерфейс), и из неё я запускаю подменю, а потом, что бы вернуться в меню, я снова запускаю menu(). Это что в памяти запущенно 2 функции menu? или одна?
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
hePPer
@hePPer
вызов другой функции является так же часть функции. так что ваш код будет работать по нижнему варианту на схеме. Функция будет жать окончание работы вызванных ею других функций.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
myjcom
@myjcom
Когда заврешается выполнение функции?

В данном случае вы получите Переполнение стека
Стек вызовов
Вызов функции в си
Ответ написан
@vanyamba-electronics
Первая картинка, конечно же.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы