Gate2012_49

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 if:
Line 1 is replaced by auto int a = 1;
Line 2 is replaced by register int a = 2;

  (A)                        (B)                     (C)                     (D)
3      1                   4      2                4      2               4        2                        
4      1                   6      1                6      2               4        2                               
3      2                   6      1                2      0               2        0                                  
  

Answer

Discuss

0Comment