@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
Первая картинка, конечно же.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
AKCP Новосибирск
от 180 000 ₽
Acamar Пльзень
от 220 000 до 260 000 ₽
Hybrik Красноярск
от 70 000 до 140 000 ₽
30 нояб. 2021, в 22:27
80000 руб./за проект
30 нояб. 2021, в 22:17
1000 руб./в час
30 нояб. 2021, в 21:47
1000 руб./за проект