考虑下面的程序
char str[5];
strcpy(str,"Hello12345678");
printf("%s",str);
Run Code Online (Sandbox Code Playgroud)
运行此程序时会出现分段错误.
但是当strcpy被替换为以下时,程序运行正常.
strcpy(str,"Hello1234567");
Run Code Online (Sandbox Code Playgroud)
所以问题是当尝试复制到str超过5个字符长度的任何其他字符串时它应该崩溃.
那么为什么它不会因为"Hello1234567"崩溃而只会崩溃为"Hello12345678",即长度为13或超过13的字符串.
该程序在32位机器上运行.