Vidyalelo
C Programming · Q32

Arrays and Strings

Programming · C Programming · question 32

Q32

What will be the output of the program? #include 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
Answer
B.
2, 3, 20
C.
2, 1, 15
D.
1, 2, 5

Answer: Option A

Solution

Answer: Option A
Solution:

>> 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.