Question
#include<stdio.h>
int main()
{
const int x=5;
const int *ptrx;
ptrx = &x;
*ptrx = 10;
printf("%d\n", x);
return 0;
}
What will be the output of the program?
#include<stdio.h>
int main()
{
const int x=5;
const int *ptrx;
ptrx = &x;
*ptrx = 10;
printf("%d\n", x);
return 0;
}
Answer: Option C
Was this answer helpful ?
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;
Was this answer helpful ?
Submit Solution