请教:char *p="abcdef"和char s[]="abcdef"存储在哪里的问题!
菜鸟老吴 2008-11-06 11:57:45 #include <stdio.h>
int main()
{
char *p="abcdef"; //很多书上说:p在栈,“abcdef”在数据区
p[2]='W';
printf(p);
getchar();
return 0;
}
这个程序编译通过,但是问什么程序运行会出错?
另一个:
#include <stdio.h>
int main()
{
char s[]="abcdef";//s在栈,“abcdef”在数据区
s[2]='W';
printf(s);
getchar();
return 0;
}
这个程序能够正常输出!
请问这是为什么?
p,s和“abcdef”分别在那个区?