实现strlen()求长度
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char str[100]={0};
char *p =str;
int len=0,i=0;
printf("输入字符串\t");
scanf("%s",str);
printf("%s\n",str);
do
{
len++;
i++;
}
while(str[i]!='\0');//*p表示按给定数组向下走,走到头遇到\0就为零,结束
printf("%d\n",len);
return 0;
}
实现strcpy复制
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
//实现strcpy(复制)
{
char str1[100]={0};//复制对象
char str2[100]={0};//接受对象
char *p1=str1;
char *p2=str2;
printf("输入要复制的内容\n");
scanf("%s",p1);
*p2=*p1;
printf("%s",p1);
return 0;
}
实现strcmp比较
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char str1[100]={0};
char str2[100]={0};
char *p1=str1;
char *p2=str2;
printf("请输入");
scanf("%s",p1);
scanf("%s",p2);
if(*p1>*p2)
{
printf("1\n");
}
else if(*p1=*p2)
{
printf("-1\n");
}
else if (*p1<*p2)
{
printf("0\n");
}
// printf(" ");
return 0;
}
实现strcat拼接
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char str1[200]={0};
char str2[100]={0};
char *p1=str1;
char *p2=str2;
printf("请输入\n");
scanf("%s",p1);
scanf("%s",p2);
int i=0;//len=strlen(str1);
int len=3;
while(*(p2+i))//必须让p2动起来,不然会出现段错误
{
*(p1+len+i)=*(p2+i);
i++;
}
printf("%s\n",p1);
return 0;
}
指针第一节思维导图