4 votes 4 votes What will be the output of the following C program? #include <stdio.h> int main() { int f1(int,int); int x = 9,n = 3; printf("%d", f1(x, n)); } int f1(int x, int n) { int y = 1,i = 1; for(i = 1;i <= n; i++) y = y * x; return(y); } 27 729 81 Compilation Error Programming in C go-programming-1 programming programming-in-c + – Arjun asked Oct 18, 2016 Arjun 1.3k views answer comment Share Follow See all 0 reply Please log in or register to add a comment.
Best answer 3 votes 3 votes x = 9, n = 3; int f1(int x, int n) { int y = 1,i = 1; for(i = 1;i <= n; i++) y = y * x; return(y); } i = 1, y = 1, x = 9, n = 3, y = 1*9 = 9 i = 2, y = 9, x = 9, n = 3, y = 9*9 = 81 i = 3, y = 81, x = 9, n = 3, y = 81*9 = 729 return (y) i.e. 729 Digvijay Pandey answered Oct 20, 2016 • selected Oct 20, 2016 by Arjun Digvijay Pandey comment Share Follow See all 9 Comments See all 9 9 Comments reply Show 6 previous comments Hemant Parihar commented Jul 1, 2017 reply Follow Share @air1 I first declare the function inside the main function. Then after some code. I define that function inside the main function. I got this error: "error: a function-definition is not allowed here before '{' token {" 1 votes 1 votes air1 commented Jul 1, 2017 reply Follow Share @Hemant Thanks for pointing. Just checked that nested functions are not a part of the C standard. They are just supported by GCC. You can get rid of that error by prepending the `auto` to the declaration. 1 votes 1 votes Shubhm commented Jul 9, 2019 i edited by Shubhm Jul 14, 2019 reply Follow Share function declaration inside main(). http://qa.geeksforgeeks.org/2839/qa.geeksforgeeks.org/2839/declaration-of-a-function-inside-main.html 0 votes 0 votes Please log in or register to add a comment.
0 votes 0 votes 1st time y=y*x; y=1*9=9; 2nd time loop will run y=y*x=9*9=81; 3rd time loop will run and again y=y*x=81*9=729; and next time condition will be false because i!<=n so y will return as o/p hence ans. is 729. SHIVAM GARG answered Jul 25, 2018 SHIVAM GARG comment Share Follow See all 0 reply Please log in or register to add a comment.