Determine Output: int counter (int value) { static int count =0; count = count +value; return count; } main() { int i , j; for (i=0; i <=5; i++) j = counter(i); printf("J = %d", j); return 0; }

  1. 5

  2. 4

  3. 10

  4. 15


Correct Option: D

AI Explanation

To determine the output of the given code, let's go through it step by step:

  1. We have a function named counter that takes an integer value as input. Inside the function, there is a static variable named count that is initialized to 0. The function adds the input value to the count variable and returns the updated value of count.

  2. In the main function, we have two integer variables i and j declared.

  3. There is a for loop that iterates from i = 0 to i &lt;= 5. In each iteration, the counter function is called with the current value of i, and the returned value is assigned to j.

  4. After the for loop, the value of j is printed using printf.

Let's track the value of j in each iteration of the for loop:

Iteration 1: i = 0

  • j = counter(0). The initial value of count is 0, and value is 0. The updated value of count is 0.
  • Therefore, j is assigned the value of 0.

Iteration 2: i = 1

  • j = counter(1). The current value of count is 0, and value is 1. The updated value of count is 1.
  • Therefore, j is assigned the value of 1.

Iteration 3: i = 2

  • j = counter(2). The current value of count is 1, and value is 2. The updated value of count is 3.
  • Therefore, j is assigned the value of 3.

Iteration 4: i = 3

  • j = counter(3). The current value of count is 3, and value is 3. The updated value of count is 6.
  • Therefore, j is assigned the value of 6.

Iteration 5: i = 4

  • j = counter(4). The current value of count is 6, and value is 4. The updated value of count is 10.
  • Therefore, j is assigned the value of 10.

Iteration 6: i = 5

  • j = counter(5). The current value of count is 10, and value is 5. The updated value of count is 15.
  • Therefore, j is assigned the value of 15.

After the for loop, the value of j is printed using printf. Therefore, the output of the code will be:

J = 15

So, the correct answer is D) 15.

Find more quizzes: