Задать вопрос
@lxr

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

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

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

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


5d6d67546b4d9214474500.png

Например у меня есть функция menu() (текстовый интерфейс), и из неё я запускаю подменю, а потом, что бы вернуться в меню, я снова запускаю menu(). Это что в памяти запущенно 2 функции menu? или одна?
  • Вопрос задан
  • 109 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Академия Codeby
    Курс «Анализ защищенности инфраструктуры на основе технологий Active Directory»
    4 месяца
    Далее
  • Академия Codeby
    Курс «Цифровая криминалистика и реагирование на инциденты ОС Linux (DFIR)»
    14 недель
    Далее
Решения вопроса 1
hePPer
@hePPer
вызов другой функции является так же часть функции. так что ваш код будет работать по нижнему варианту на схеме. Функция будет жать окончание работы вызванных ею других функций.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
myjcom
@myjcom
Когда заврешается выполнение функции?

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

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

Похожие вопросы