strcpy.strcmp.strlen.strcat函数的实现

#include <stdio.h>

#include <string.h>
 
char *copy(char *a,char *b);//声明一个复制函数
char *cat(char *a,char *b);//声明一个比较函数
int cmp(char *a,char *b); //声明一个比较函数
int len(char *a); //声明一个测长函数
 
int main()
{
    char a[20];
    char b[20];
    scanf("%s %s",a,b);
    char *p = copy(a,b);//复制函数调用
    //char *p = cat(a,b); //连接函数调用
    printf("%s ",p);
    //int vare = cmp(a,b);//比较函数调用
    //int vare = len(a); //测长函数调用
    //printf("%d ",vare);
    return 0;
}
 
char *copy(char *a,char *b)//定义一个复制函数
{
    char *p = a;//储存首地址
    while(*a++ = *b++);//一直判断a的值是否为,当b达到时,且复制给a,则结束循环
    return p;//返回首地址
}
 
char *cat(char *a,char *b)//定义一个连接函数
{
    char *p = a;
    while(*(++a));//将a的值一直读到
    while(*a++ = *b++);//接之后将b复制给a
    return p;
}
 
int cmp(char *a,char *b) //定义一个比较函数
{
    for(;(*a == *b) && *b != '';*a++,*b++);//逐个字符比较,并判断出 结束循环
    return *b-*a;//返回第一个不相同的两字符差值
}
 
int len(char *a)//定义一个计算长度函数
{
    int count = 0;//用来计算元素个数
    for(;*a++ != '';count++);//利用 判断是否跳出
    return count;//返回一个长度值
}
原文地址:https://www.cnblogs.com/huojiaoqingchun0123/p/5028768.html