一.将字符串src拷贝到des中
法1
void Mystrcpy(char*des,char*src)
{
int i;
for(i=0;src[i]!='\0';i++)//'\0'在字符串标记结尾
{
des[i]=src[i];
}
des[i]='\0';
}
法2
char *p=arr;//数组名表示数组首元素的地址
数组和指针有如下等式:p[i]==*(p+i); arr[i]==*(arr+i)
void Mystrcpy 1(char*des,char*src)
{
int i;
for(i=0;*(src+i)!='\0';i++)
{
*(des+i)=*(src+i);
}
*(des+i)='\0';
}
法3
void Mystrcpy 2(char*des,char*src)
{
for(char*p=src;*p!='\0';p++)
{
printf("%c",*p);
}
while(*src!='\0')
{
*des=*src;
src++;
des++;
}
*des='\0';
}
法4
++和*同阶运算,运算顺序为自右向左
void Mystrcpy 2(char*des,char*src)
{
while(*des++=*src++);
}
二.求字符串长度
1.直接求字符串长度
#include<string.h>//引用
printf("%d\n",strlen(str));//输出使用
2.求字符串str的长度"abcd"为4,不包括'\0',只返回字符串有效长度
int Mystrlen(char*str)
{
int i;
for(i=0;str[i]!='\0';i++)
{
}
return i;
}
p[i]=*(p+i)
arr[i]=*(arr+i)可以用这些与上述替换