字符串指针的相关的一个问题?
问题不知道该怎么在标题中描述。看程序注释部分问题,新手求解答,谢谢!# include<stdio.h>
main()
{
void copy(char *x,char *y);
char *a="I am student!";
char *b="you are a student!"; //程序编译没问题,运行时指出某内存不能为“read”。而把字符串数组b声明成下标形式
//char*p; // 即char b[20]=" ",另外声明指针变量 char *p;p=b,则正确。为什么呢?
//p=b; //
printf("%s\n%s\n",a,b);
copy(a,b);
printf("%s\n%s\n",a,b);
return 0;
}
void copy(char *x,char *y)
{
for(;*x;x++,y++)
*y=*x;
*y='\0';
}