任务描述:
自己设计函数 :
(1)size_t myStrlen(char *s),返回字符串s的长度。
其中,size_t是在头文件stddef.h中定义的宏类型,实际类型为long unsigned int,在32位系统下,它等价于unsigned类型。

(2)int myStrcmp(char *s1, char *s2),比较字符串s1,s2,返回值为1,0,-1分别表示s1比s2大、s1与s2相等、s1比s2小。

(3)char * myStrcpy(char *dest,char *src ),将字符串src复制到字符串dest。返回dest。

input:
两行字符串 S1,S2,每行不超过100个字符,字符串包括空格和跳格字符。
e.g.
What's your name?
Nice to meet you.

output:
输出3行。(理解对比这一题目含义)
第1行对比输出字符串s1的长度。
第2行对比输出s1与s2比较的结果。
第3行对比输出分别调用自定义myStrcpy(s2,s1 )函数将s1复制到s2,调用库函数strcpy(s3,s1 )将s1复制到s3,后,输出s2,s3。先输出自己函数的输出结果,接着输出一个空格,再输出库函数结果。
e.g.
17 17
1 9(迷惑行为,实际上就是“1”)
What's your name? What's your name?

一些拓展_just see see
字符串比较库函数strcmp()的返回值有两种做法: 做法1:返回-1,0,1分别表示小于、等于、大于的结果。 做法2:返回得出比较结果的位置对应字符的ASCII码差值。正整数、0、负整数。 具体采用哪种函数,依赖于库函数的具体实现。经过测试,Windows下的mingw32-gcc采用做法1,但是Linux下的gcc采用了做法2。 完成本编程任务时,不用理会此差别。

代码如下:

#include <stdio.h>
#include <string.h>
size_t myStrlen(char * s1);
int myStrcmp(char * s1,char *s2);
char * myStrcpy(char *dest,char *src);
int main() 
{
    char s1[101],s2[101],s3[101];
    gets(s1);
    gets(s2);
    printf("%u %u\n",myStrlen(s1),strlen(s1));
    printf("%d %d\n",myStrcmp(s1,s2),strcmp(s1,s2));
    myStrcpy(s2,s1);       //实质上把S2 清空了再逐个赋值
    strcpy(s3,s1);
    printf("%s %s\n",s2,s3);
    return 0;
size_t myStrlen(char * s1) 
{
    size_t i=0;
    while(s1[i++]) ;//这一行字符串输入完了再退出循环(学学这个地方的技巧
    return i-1; //把记录的换行符去掉
}
int myStrcmp(char * s1,char *s2) 
{
    size_t i; //定义数据类型
    for(i=0; s1[i]!='\0'&&s2[i]!='\0'; i++) //逐个逐个比较字符的大小,比出结果直接跳出循环
    {
        if(s1[i]>s2[i])
            return 1;
        else if(s1[i]<s2[i])
            return -1;
    }
    //以下是:比到相同时,s1 or s2 已经到结尾退出循环的情况分析
    if(s1[i]=='\0' && s2[i]=='\0')
        return 0;
    else if(s1[i]!='\0' && s2[i]=='\0') //谁短谁就小)逃
        return 1;
    else
        return -1;
}
char * myStrcpy(char *dest,char *src)
{
    size_t i,len=myStrlen(src);//确定终点,取长度不用简介访问值,取地址就可以
    for(i=0;i<len;i++)
        dest[i]=src[i]; //就是间接将S1 逐个赋值给 S2
    dest[i]='\0'; //别忘了取长度不记录'\0',要手动添加一个结束符'\0' 《很细啊!
    return dest;
}

有时间还要直接手打一遍,确保自己梳理下来,都领悟了