这是我写的代码
char *foo();
void main()
{
char *str=foo();
strcpy(str,"Holy sweet moses! I blew my stack!!");
printf("%s",str);
}
char * foo()
{
char str[256];
return str;
}
当我在函数 foo() 中使用 char 数组时,main() 函数中的 strcpy 不会将字符串复制到 str 中。但是,当我在函数 foo() 中使用 int 数组时,main() strcpy 复制成功。
IE
int str[256]; //in function foo
输出
Holy sweet moses! I blew my stack!!
如果
char str[256]; //in foo()
输出:什么都没有!