新人,指针问题,求教导
void fun(char *p){
char a[8] ={0};
strcpy(a,p);
printf("%s\n",a);
}
int main()
{
char *p = "hello world";
fun(p);
printf("%s\n",p);
}
1.为什么常量指针P调用函数后,变成0x0, 结果到打印P内容,出现段错误
2.还是保护上下文问题,被覆盖,导致无法返回,但是我在MAIN里*p初始化的时候前面加上static就没问题了
3.在WINDOWS下编译没问题,但在红帽子5编译就出现断错误。
子函数里面数组是故意这样设定的,是局部变量在strcpy导致被覆盖,导致无法返回吗,为什么加上static就好了呢
[ 本帖最后由 guoqi6716510 于 2013-9-17 21:31 编辑 ]