Home / C Programming / Expressions :: Discussion

Discussion :: Expressions

  1. What will be the output of the program?

    #include
     int main() 
     {   
          static int a[20];   
          int i = 0;    
          a[i] = i  ;   
          printf("%d, %d, %d\n", a[0], a[1], i);     
          return 0; 
    }
    

  2. A.

    1, 0, 1

    B.

    1, 1, 1

    C.

    0, 0, 0

    D.

    0, 1, 0

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    Step 1: static int a[20]; here variable a is declared as an integer type and static. If a variable is declared as static and it will be automatically initialized to value '0'(zero).

    Step 2: int i = 0; here vaiable i is declared as an integer type and initialized to '0'(zero).
    Step 3: a[i] = i ; becomes a[0] = 0;
    Step 4: printf("%d, %d, %d\n", a[0], a[1], i);
    Here a[0] = 0, a[1] = 0(because all staic variables are initialized to '0') and i = 0.
    Step 4: Hence the output is "0, 0, 0".


Be The First To Comment