Consider the following program, what is the output printed ?
Correct Answer :
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:
Substituting the arguments:
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:
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:
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.
Access expert-curated educational resources and study materials—completely free.
Create, conduct, and manage professional online assessments with Mindyard. Perfect for teachers and institutes.
Copyright © 2026 Mindyard. All Rights Reserved.