复制字符串
下面这个程序,初始化定义时
char *a="*****" char *b="******"是程序无法运行,
定义成char a[]="******",b[]="*****"时正确无误,
这是为什么呢?
#include<stdio.h>
void cpy(char *p1,char *p2);
void main()
{
char * a="I love you !"; //定义成数组无错
char * b="I will live in chengdu!";
cpy(a,b);
printf("\n%s\n%s\n",a,b);
}
void cpy(char *p1,char *p2)
{
int i=0;
while(*(p1+i)!='\0')
{
*(p2+i)=*(p1+i);
i++;
}
*(p1+i)='\0';
}