在字符串数组与指针中:
void Mystrcpy(char *str1,char*str2)
{
while(*str1++=*str2++) 直到没有值可以复制了
}
首先分析它们其中的运算符优先级的问题:
*与++属于同级,结合方向为自右向左;
首先给str2解引用,将str2[0]里面的值复制给str1[0];
再执行后置++,成为str1[1]=str2[1],
直到str2中遇到‘\0’,再把‘\0’复制过来;
循环结束。
在字符串数组与指针中:
void Mystrcpy(char *str1,char*str2)
{
while(*str1++=*str2++) 直到没有值可以复制了
}
首先分析它们其中的运算符优先级的问题:
*与++属于同级,结合方向为自右向左;
首先给str2解引用,将str2[0]里面的值复制给str1[0];
再执行后置++,成为str1[1]=str2[1],
直到str2中遇到‘\0’,再把‘\0’复制过来;
循环结束。