String literals are constant character arrays.
As such, you cannot assign their address to a char* pointer. The line you posted should not compile. If it does, get a new compiler, yours is probably ancient.
constchar* s = "abcd";
would be correct.
String literals are usually in read-only parts of memory, so that explains why in your case the program still crashes on the second line, even though the compiler let the first one pass (wrongly).