el valor de la variable const se cambia usando un puntero
La salida del siguiente programa es 50 en gcc. ¿Cómo es posible que x sea una variable constante y * p sea x en sí mismo? P es un puntero constante que apunta al valor en x. Donde como turbo c da error del compilador. ¿Es un comportamiento indefinido? por favor explique.
#include<stdio.h>
int main()
{
const int x = 25;
int * const p = &x;
*p = 2 * x;
printf("%d", x);
return 0;
}