#include <stdio.h>
#include <string.h>int main(void)
{char *str = "sting";strcpy(str, "hello");printf("%s\n", str);return 0;
}
代碼為什么會運行錯誤,異常退出?
這段代碼是新手常見錯誤之一。
定義中的字符串“sting”放在常量區,char *str只是取了"sting"在常量區的地址。
常量是分配在靜態區域的,無法再進行修改,所以strcpy會導致程序異常。