可能的重复:
未定义、未指定和实现定义的行为
这应该是段错误。为什么不呢。
#include <string.h>
#include <stdio.h>
char str1[] = "Sample string. Sample string. Sample string. Sample string. Sample string. ";
char str2[2];
int main ()
{
strcpy (str2,str1);
printf("%s\n", str2);
return 0;
}
我使用 gcc 版本 4.4.3 和以下命令:
gcc -std=c99 testString.c -o test
我还尝试将优化设置为 o (-O0)。
这应该是段错误
没有理由它“应该”出现段错误。代码的行为是未定义的。这并不意味着它一定会崩溃。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)