書上的方法是:
#include<iostream.h>
char* myStrcpy(char* s1,const char* s2)
{
char* s=s1;
while(*s++ = *s2++);
return s1;
}
int main()
{
char a[50];
const char* s="Hello, I am a student./n";
cout<<myStrcpy(a,s);
}
而while(*s++ = *s2++);這一句相當於執行下列操作序列:
while(1)
{
*s=*s2;
s2++;
char* temp=s;
s++;
if(*temp==0) break;
}
我想能不能不用從新定義字符指針實現這個功能,後發現用以下方法也可以實現:
while(1)
{
*s=*s2;
if(*s==0) break;
s2++;
s++;
}
經過編譯連接獲得了成功