CPArrys Q20

0. The following program
main( )
{
static int a[ ] = { 7, 8, 9 } ;
printf( "%d", 2[ a ] + a[ 2 ] ) ;
}

  • Option : D
  • Explanation :
    a[2] will be converted to *(a + 2).
    *(a + 2) can as well be written as *(2 + a ) .
    *(2 + a ) is nothing but 2 [a] .
    a [2] is essentially same as 2 [a] which is same as * ( 2 + a ).
    So, it prints 9 + 9 = 18. Some of the modem compilers don't accept 2[a].
Cancel reply

Your email address will not be published. Required fields are marked *


Cancel reply

Your email address will not be published. Required fields are marked *