Home / C Programming / Const :: Discussion

Discussion :: Const

  1. What will be the output of the program?

     #include 
     int main()
     {   
         const int x=5;    
         const int *ptrx;   
         ptrx = &x;     
         *ptrx = 10;    
         printf("%d\n", x);     
         return 0;
     } 
    

  2. A.

    5

    B.

    10

    C.

    Error

    D.

    Garbage value

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    Step 1: const int x=5; The constant variable x is declared as an integer data type and initialized with value '5'.

    Step 2: const int *ptrx; The constant variable ptrx is declared as an integer pointer.

    Step 3: ptrx = &x; The address of the constant variable x is assigned to integer pointer variable ptrx.

    Step 4: *ptrx = 10; Here we are indirectly trying to change the value of the constant vaiable x. This will result in an error.

    To change the value of const variable x we have to use *(int *)&x = 10;


Be The First To Comment