Gate2012_48

Consider the following C code segment.

int a, b, c = 0;
void prtFun(void);

 

main( )
{ static int a = 1;                                              /* Line 1 */
prtFun( );
a += 1;
prtFun( );
printf(“ \n %d %d ”, a, b);
}

 

void prtFun(void)
{ static int a = 2;                                 /* Line 2 */
int b = 1;
a += ++b;
printf(“ \n %d %d ”, a, b);
}

 

What output will be generated by the given code segment?
   (A)                        (B)                    (C)                    (D)
3      1                   4     2                4      2               3        1                        
4      1                   6     1                6      2               5         2                               
4      2                   6     1                2      0               5         2                                  
                              

Answer

Discuss

0Comment