#include <stdio.h>
第一种
Void Mystrcpy1(char *des,char *src)
{
int i;
For(i=0;src[i]!=’\0’;i++)
{
Des[i]=src[i]
}
Des[i]=’\0’;
}
第二种
Void Mystrcpy2(char *des,char *src)
{
int i;
for(i=0;src[i]!='\0’;i++)
{
*(des+i)=*(src+i)
}
*(des+i)='\0';
}
第三种
Void Mystrcpy3(char *des,char *src)
{
while(*src != '\0')
{
*des = *src;
des++;
src++;
}
*des = '\0';
}
第四种
void Mystrcpy4(char *des,char *src)
{
while(*src != '\0')
{
*des++ = *src++;(*与++为同一优先级,同时出现时自右向左运算等同*(des++) = *(src++);
}
*des = '\0';
}
第五种
void Mystrcpy(char *des,char *src)
{
while(*des++ = *src++);(分号表示while后跟了空语句)
}
Int main
{
Char str1[10];
Char str2[]=”abcd”;
Mystrcpy(str1,str2);
printf("%s\n",str1);
return0;
}
前置++:先执行+,后赋值。
Int i=10;
Int j=++i;
输出:i=11,j=11.
后置++:先赋值,后执行+。
Int i=10;
Int j=i++;
输出:i=11,j=10.