{"id":27962,"date":"2022-12-27T18:58:38","date_gmt":"2022-12-27T13:28:38","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/"},"modified":"2022-12-27T18:58:38","modified_gmt":"2022-12-27T13:28:38","slug":"solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/","title":{"rendered":"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-46028097\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"46028097\" data-parentid=\"46027158\" data-score=\"2\" data-position-on-page=\"2\" data-highest-scored=\"0\" data-question-has-accepted-highest-score=\"0\" itemprop=\"suggestedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>okay it&#8217;s really simple.<\/p>\n<p>Just consider these two points before moving on:<\/p>\n<p>point 1:<br \/>\nWhen a function calls another function, the first function that calls the other is known as the &#8220;caller&#8221; function, the function getting called is known as the &#8220;callee&#8221;.<\/p>\n<p>point 2: when a callee is called, code execution stops at the point where the call was made and moves inside the callee and runs all the way through the callee, until it either finishes all the lines or reaches a return statement for a non void function or reaches another function call. <\/p>\n<p>so here in your program:<br \/>\nmain () calls  print (x).<br \/>\nmain() stops executing where print(x); was written <\/p>\n<p>assuming x = 5,        5 is passed to void print (int x).<\/p>\n<p>so now inside void. x is 5. <\/p>\n<p>the if (5==0) statement is checked and evaluates to false, so else{} gets executed. <\/p>\n<p>here is the part that confuses you:<\/p>\n<p>inside else{}, there is a function call print (x-1);<br \/>\nthis will call the function print (int x) recursively. passing it the value of 5-1=4.<br \/>\nso at this point, the function doesn&#8217;t continue to the next line to execute cout &lt;&lt; x &lt;&lt; endl; instead it pauses inside this function and moves into another function. <\/p>\n<p>notice how print (x-1) is called before cout&lt;&lt; x &lt;&lt; endl; is even reached. <\/p>\n<p>so print (x-1) runs, checking the if statement, and calling another print (x-1).<br \/>\nthis continues, until x==0, which has a return with no return values which only terminates the function. <\/p>\n<p>so the last function call (x==0) is terminated by the return; statement.<\/p>\n<p>the function before it, which had the value of 1 (remember now x=1), continues from where it paused which was where print (x-1) was stated, and executes the code to the end of the function, so it executes cout&lt;&lt; x &lt;&lt; endl; with x = 1. <\/p>\n<p>then when this function is done, the function before it continues its execution in the same way , so first 1 was printed, now 2 gets printed, then 3, 4 and 5&#8230; until the whole cycle of functions waiting in line for their callee to finish executing ends..<\/p>\n<p>recursive functions always get to the last call, and start evaluating and finalizing from the last one to the first one because a function call stops the caller from continuing to execute its code and instead makes the program execute inside the callee. <\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">0<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved what is the order of execution if I put a statement after the statement that do the recursion inside the function <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] okay it&#8217;s really simple. Just consider these two points before moving on: point 1: When a function calls another function, the first function that calls the other is known as the &#8220;caller&#8221; function, the function getting called is known as the &#8220;callee&#8221;. point 2: when a callee is called, code execution stops at the &#8230; <a title=\"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/\" aria-label=\"More on [Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,413,494],"class_list":["post-27962","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-function","tag-recursion"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] okay it&#8217;s really simple. Just consider these two points before moving on: point 1: When a function calls another function, the first function that calls the other is known as the &#8220;caller&#8221; function, the function getting called is known as the &#8220;callee&#8221;. point 2: when a callee is called, code execution stops at the ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-27T13:28:38+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function\",\"datePublished\":\"2022-12-27T13:28:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\\\/\"},\"wordCount\":439,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"c++\",\"function\",\"recursion\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\\\/\",\"name\":\"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-12-27T13:28:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function - JassWeb","og_description":"[ad_1] okay it&#8217;s really simple. Just consider these two points before moving on: point 1: When a function calls another function, the first function that calls the other is known as the &#8220;caller&#8221; function, the function getting called is known as the &#8220;callee&#8221;. point 2: when a callee is called, code execution stops at the ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/","og_site_name":"JassWeb","article_published_time":"2022-12-27T13:28:38+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function","datePublished":"2022-12-27T13:28:38+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/"},"wordCount":439,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","function","recursion"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/","url":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/","name":"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-12-27T13:28:38+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-what-is-the-order-of-execution-if-i-put-a-statement-after-the-statement-that-do-the-recursion-inside-the-function\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] what is the order of execution if I put a statement after the statement that do the recursion inside the function"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=27962"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27962\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=27962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=27962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=27962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}