C代码从memmove崩溃

spe*_*ler -1 c memmove

我写代码时代码没有崩溃:

char s[44] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
memmove(s, "asdf", 5);
Run Code Online (Sandbox Code Playgroud)

但是当我写作时它会这样做:

char* s = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
memmove(s, "asdf", 5);
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么?

Kei*_*las 7

第一个分配空间并放入a

第二个是指向常量内存的指针,不允许更改它.