Sail E0 Webinar
Question


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;
}
Options:
A .  5
B .  10
C .  Error
D .  Garbage value
Answer: Option C

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 ?
Next Question

Submit Solution

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

Latest Videos

Latest Test Papers