C#.NET — What does the following program print (factorial computed via out parameter)? namespace CuriousTabConsoleApplication { class SampleProgram { static void Main(string[] args) { int i; int res = fun(out i); Console.WriteLine(res); } static int fun(out int i) { int s = 1; i = 7; for (int j = 1; j <= i; j++) { s = s * j; } return s; } } }

Difficulty: Easy

Correct Answer: 5040

Explanation:


Introduction / Context:
This program demonstrates using an out parameter to pass a value from a method while also returning a computed result. The loop calculates a factorial.



Given Data / Assumptions:

  • fun sets i = 7 using an out parameter.
  • It computes s as the product from 1 to i inclusive.
  • Console.WriteLine prints the return value s.


Concept / Approach:
Factorial of n is 1 * 2 * 3 * ... * n. Thus factorial of 7 is 5040.



Step-by-Step Solution:

Initialize s = 1.Loop j = 1 to 7: s = s * j.After loop: s = 5040.Return s; print 5040.


Verification / Alternative check:
Known value: 7! = 5040; quick multiplication confirms.



Why Other Options Are Wrong:

  • 1: Only the initial value of s, not the factorial.
  • 7, 8, 720: Do not equal 7!.


Common Pitfalls:
Confusing the printed value with the out parameter i; the console prints the return value.



Final Answer:
5040

More Questions from Functions and Subroutines

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion