Examveda
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

Answer: Option A

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.


Join The Discussion

Comments ( 12 )

  1. Anees Hafza
    Anees Hafza :
    1 year ago

    Good explanation, thank you

  2. Sandeep Kumar
    Sandeep Kumar :
    2 years ago

    option no B should be correct please look into seriously

  3. MAHITOSH GIRI
    MAHITOSH GIRI :
    3 years ago

    This answer will be b.

  4. Inamul Haque
    Inamul Haque :
    3 years ago

    Perect explanation

  5. Anvesh Pandey
    Anvesh Pandey :
    3 years ago

    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. Atharv Jangam
    Atharv Jangam :
    5 years ago

    The ans is b

  7. Dipu Saha
    Dipu Saha :
    5 years ago

    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. Nehal Kalal
    Nehal Kalal :
    6 years ago

    The value of i is supposed to be 2 right?

  9. Examveda
    Examveda :
    6 years ago

    Hello Pradeep
    Please check the sixth line of explanation for a doubt you have in mind.

  10. Georgian Pradeep
    Georgian Pradeep :
    6 years ago

    the value of i=2 as written by you but it varies in option.also the value of m would be a[3]=20 not 15.

  11. Examveda
    Examveda :
    6 years ago

    Hello Pradyumna,
    Please read explanation clearly.

  12. Pradyumna Bhegade
    Pradyumna Bhegade :
    6 years ago

    sir the value of a[1] will be 1 on i as well as on j so the ans will be 2, 1, 15

Related Questions on Arrays and Strings