//字符串推演
//先打桩后实现打包
void copy_str01(char *from, char *to)
{
for (; *from!=’\0’; from++, to++)
{
*to = *from;
}
*to = ‘\0’;
}
void copy_str02(char *from, char *to)
{
while(*from!=’\0’)
{
*to++ = *from++;
}
*to = ‘\0’;
}
void copy_str03(char *from, char *to)
{
while( (*to=*from) !=’\0’)
{
to++;
from++;
}
}
void copy_str04(char *from, char *to)
{
while( (*to++=*from++) !=’\0’)
{
;
}
}
int copy_str05_good(const char *from, char *to)
{
if (from==NULL || to==NULL)
{
printf(“func copy_str05_good() err. (from==NULL || to==NULL)\n”);
return -1;
}
while( (*to++=*from++) !='\0')
{
;
}
return 0;
}“`
void main()
{
char a[] = ” i am a student “;
char buf[64];
//传统的循环赋值方式\0没有拷贝到buf中
for( i = 0; *(a+i) != ‘\0’;i++)
{
(b+i) = (a+i);
}
b[i] = ‘\0’;//重要
//高水平程序员并不会这样写
}
void main()
{
char * from = “avbd”;
char buf[100];
copy_str3(from,buf);
}
“`