Question Details

Consider the following program, what is the output printed ?


Options

A

10

B

56

C

15

D

25

Show Answer

Correct Answer :

Option A

10

Solution :

The correct option is 10.

Analysis of the Code in the Image:
The provided image contains the following C program:
void f(int i, int j) { if (i < j) { i = 0; while (i < 10) { j = j + 2; i++; } printf(i); } }
int main() { int i = 9, int j = 10; f(i, j); return 0; }

Let's trace the execution of this program step-by-step:

1. Initialization in main():
The execution begins in the main() function where the variables i and j are initialized:
i = 9
j = 10
The function f(i, j) is then called with these values, passing 9 for the parameter i and 10 for the parameter j.

2. Conditional Check in f():
Inside f(int i, int j), the first statement is an if condition:
i<j
Substituting the arguments:
9<10
Since 9 is less than 10, this condition evaluates to true, and execution enters the if block.

3. Executing the Loop:
Upon entering the if block, the variable i is re-assigned to 0:
i = 0
Next, the program encounters a while loop:
i<10
During each iteration of this loop, j is incremented by 2 and i is incremented by 1 (i++). The loop runs for i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

4. Termination and Printing:
After the 10th iteration, i is incremented to 10. The loop condition is checked again:
10<10
Since this condition is false, the loop terminates. The statement immediately following the loop is:
printf(i);
Since the value of i at this point is 10, the program prints 10 as the final output.

Unlock Our Free Library

Access expert-curated educational resources and study materials—completely free.

Ask AI Tutor
5 left
Q1 View Question & Options
AI Tutor is solving this question...
Reading question context & options...