Examveda

# What will be the output of the program ? #include<stdio.h> void main() { int a[5] = {5, 1, 15, 20, 25}; int i, j, m; i = ++a[1]; j = a[1]++; m = a[i++]; printf("%d, %d, %d", i, j, m); }

A. 3, 2, 15

B. 2, 3, 20

C. 2, 1, 15

D. 1, 2, 5

### Solution(By Examveda Team)

>> int a[5] = {5, 1, 15, 20, 25}; The variable arr is declared as an integer array with a size of 5 and it is initialized to
a[0] = 5, a[1] = 1, a[2] = 15, a[3] = 20, a[4] = 25.

>> int i, j, m; The variable i, j, m are declared as an integer type.

>> i = ++a[1]; becomes i = ++1; Hence i = 2 and a[1] = 2

>> j = a[1]++; becomes j = 2++; Hence j = 2 and a[1] = 3.

>> m = a[i++]; becomes m = a[2]; Hence m = 15 and i is incremented by 1(i++ means 2++ so i=3)

>> printf("%d, %d, %d", i, j, m); It prints the value of the variables i, j, m

Hence the output of the program is 3, 2, 15.

1. Good explanation, thank you

2. option no B should be correct please look into seriously

3. This answer will be b.

4. Perect explanation

5. Sir j = a[1]++ so first the value will be stored i think then the incrementation will be done so j = 2 will right

6. The ans is b

7. Hw cm a[1] =2 ? as till i=2 i.e. in the first step..
Can u explain the reaaon for that in detail...

8. The value of i is supposed to be 2 right?