Home » C Programming » Constants

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; }

Correct Answer: Error

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;


← Previous Question Next Question→

More Questions from Constants

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion