5 5 votes What is the output of the following code?#include <stdio.h> int sum(int n) { if (n == 1) return 1; return n + sum(n - 1); } int main() { printf("%d", sum(5)); return 0; } Programming in C goclasses goclasses-cs-dpp goclasses-cs-dpp-day-297 programming-in-c c-programming goclasses-c-programming-practice-questions recursion numerical-answers + – GO Classes 233 views answer comment Share Follow Print 0 reply Please log in or register to add a comment.
0 0 votes The function call is $\texttt{sum(5)}$.The function returns $\texttt{n + sum(n - 1)}$ until $\texttt{n == 1}$.So,$\texttt{sum(5) = 5 + sum(4)}$$\texttt{sum(4) = 4 + sum(3)}$$\texttt{sum(3) = 3 + sum(2)}$$\texttt{sum(2) = 2 + sum(1)}$Base case:$\texttt{sum(1) = 1}$Now substitute back:$\texttt{sum(2) = 2 + 1 = 3}$$\texttt{sum(3) = 3 + 3 = 6}$$\texttt{sum(4) = 4 + 6 = 10}$$\texttt{sum(5) = 5 + 10 = 15}$Therefore, the output is $\boxed{\texttt{15}}$ GO Classes answered Jun 13 • edited Jun 13 by GO Classes GO Classes comment Share Follow 0 reply Please log in or register to add a comment.
0 0 votes Output is 15 pratishamacha answered Jun 16 pratishamacha comment Share Follow 0 reply Please log in or register to add a comment.