• Functions and Subroutines - General Questions
1. 

Which of the following will be the correct output for the C#.NET program given below?

namespace IndiabixConsoleApplication
{ 
    class SampleProgram
    {
        static void Main(string[] args)
        { 
            int num = 1;
            funcv(num); 
            Console.Write(num + ", "); 
            funcr(ref num); 
            Console.Write(num + ", ");
        }
        static void funcv(int num)
        { 
            num = num + 10; Console.Write(num + ", ");
        }
        static void funcr (ref int num)
        { 
            num = num + 10; Console.Write(num + ", ");
        } 
    } 
}

A. 1, 1, 1, 1,
B. 11, 1, 11, 11,
C. 11, 11, 11, 11,
D. 11, 11, 21, 11,
E. 11, 11, 21, 21,

2. 

What will be the output of the C#.NET code snippet given below?

namespace IndiabixConsoleApplication
{ 
    class SampleProgram
    { 
        static void Main(string[] args)
        { 
            int[]arr = newint[]{ 1, 2, 3, 4, 5 }; 
            fun(ref arr);
        }
        static void fun(ref int[] a)
        { 
            for (int i = 0; i < a.Length; i++)
            { 
                a[i] = a[i] * 5; 
                Console.Write(a[ i ] + " "); 
            } 
        } 
    } 
}

A. 1 2 3 4 5
B. 6 7 8 9 10
C. 5 10 15 20 25
D. 5 25 125 625 3125
E. 6 12 18 24 30

3. 

Which of the following statements are correct?

  1. An argument passed to a ref parameter need not be initialized first.
  2. Variables passed as out arguments need to be initialized prior to being passed.
  3. Argument that uses params keyword must be the last argument of variable argument list of a method.
  4. Pass by reference eliminates the overhead of copying large data items.
  5. To use a ref parameter only the calling method must explicitly use the ref keyword.

A. 1, 2
B. 2, 3
C. 3, 4
D. 4, 5
E. None of these

4. 

A function returns a value, whereas a subroutine cannot return a value.

A. True
B. False

5. 

Which of the following statements are correct about functions and subroutines used in C#.NET?

  1. A function cannot be called from a subroutine.
  2. The ref keyword causes arguments to be passed by reference.
  3. While using ref keyword any changes made to the parameter in the method will be reflected in that variable when control passes back to the calling method.
  4. A subroutine cannot be called from a function.
  5. Functions and subroutines can be called recursively.

A. 1, 2, 4
B. 2, 3, 5
C. 3, 5
D. 4, 5
E. None of these