#include<stdio.h>
void main()
{
char s1[20]="String",s2[20]="string";//把s1[20]改成*s1会出现内存读写错误!!!!
char *ps1=s1,*ps2=s2;
while(*ps1)
ps1++;
while(*ps1++=*ps2++);
printf("%s",s1);
}
參考答案:你写完char * s1 = "String"
我这里搞错了,这么申明的String\0在常量区,s1在栈上
while(*ps1++=*ps2++)
你运行这句时,ps1需要去写对常量作写操作,自然会报错
p.s.
srhouyu说得有问题
就是=,而不是==
这程序做的就是连接s1和s2