Sembra che tu abbia frainteso lo standard C. Cercando di modificare una variabile qualificata const è una violazione del vincolo e deve quindi risultare in un messaggio diagnostico dal compilatore.
Se provi a sovvertire quel meccanismo (ad esempio, gettando via const ), allora sei da solo. Il tentativo di modificare un oggetto definito come const ha come risultato Comportamento indefinito , il che significa che letteralmente tutto è possibile. Non esiste un comportamento definito dall'implementazione nel contesto di const nello standard C.