自定義函數實現strcpy,strcat,strcmp的功能

在這裏我向大家分享如何創建簡單的函數實現strcpy,strcat,strcmp的功能,
本人才疏學淺,若有錯誤,望您不吝賜教。

1.自定義函數實現strcpy功能

#include<stdio.h>
#define N 100

void my_strcpy(char *p, char *q)
{
    while (*p++ = *q++);
}

int main(int argc, char *argv[])
{
    char s1[N];
    char s2[N];
    gets(s1);
    gets(s2);
    my_strcpy(s1,s2);
    printf("%s\n",s1);

    return 0;
}

2.自定義函數實現strcat功能

#include<stdio.h>
#define N 100

void my_strcpy(char *p, char *q)
{
    while (*p++);
    *p--;
    while (*p++ = *q++);
}

int main(int argc, char *argv[])
{
    char s1[N];
    char s2[N];
    gets(s1);
    gets(s2);
    my_strcpy(s1,s2);
    printf("%s\n",s1);

    return 0;
}

3.自定義函數實現strcmp功能

#include<stdio.h>
#define N 100

int my_strcmp(char *p, char *q)
{
    int i;
    for (i=0; ;i++)
    {
        if (p[i] > q[i])
        return 1;
        if (p[i] < q[i])
        return -1;
        if (p[i] == '\0')
        return 0;
    }
}

int main(int argc, char *argv[])
{
    char s1[N];
    char s2[N];
    gets(s1);
    gets(s2);
    printf("%d\n",my_strcmp(s1,s2));

    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章