• strlen,strcat,strcpy,strcpm 自实现


     1 #include <stdio.h>
     2 /*
     3 题目:4种字符串库函数自实现:1.mystrlen()测字符串长度  2.mystrcat()字符串链接 3.mystrcpy()字符串拷贝 4.mystrcmp()字符串比较
     4 思路:1.mystrlen()测字符串长度。测量字符串的实际长度返回一个整数值
     5       2.mystrcat()字符串链接。将第二个字符串链接到第一个字符串后面,组成一个新串,返回新串的首地址(也可不返回)。
     6       3.mystrcpy()字符串拷贝。将第二个字符串拷贝至第一个字符串中。前提是第一个字符串的长度大于第二个字符串的长度,返回新串的首地址(也可不返回)
     7       4.mystrcmp()字符串比较。两个字符串每个字符逐个比较,全部相同返回他们的差值,此时差值正好为0
     8         如果第一个字符串某一个字符比第二个字符串ascii大或者小 则返回他们的差值。大的时候差值>0 小的时候差值<0
     9 */
    10 
    11 //1.测字符串长度
    12 int mystrlen(char *p)
    13 {
    14     int len = 0;
    15     while(*p++)
    16         len++;
    17     return len;
    18 }
    19 //2.字符串链接
    20 void mystrcat(char *p1,char *p)
    21 {
    22     while(*p1)p1++;
    23     while(*p1++=*p++);
    24 }
    25 
    26 //3.字符串拷贝
    27 void mystrcpy(char *p1,char *p)
    28 {
    29     while(*p1++=*p++);
    30 }
    31 
    32 //4.字符串比较
    33 int mystrcmp(char *p1,char *p)
    34 {
    35     for(;*p1&&*p;p1++,p++)
    36     {
    37         if(*p1 == *p)
    38             continue;
    39         else 
    40             return *p1-*p;
    41     }
    42     return *p1-*p;
    43 }
    44 int main(void)
    45 {
    46     char *p = "sabcdefg";
    47     char p1[30] = "y1234";//字符串常量"y1234"存储在数据段的只读数据段(or)无法改变其数据,将其拷贝至字符数组中,就可以改变其数据。
    48     int len = 0;
    49     printf("len = %d
    ",mystrlen(p));
    50 
    51     mystrcat(p1,p);
    52     printf("p1 = %s
    ",p1);
    53     
    54     mystrcpy(p1,p);
    55     printf("p1 = %s
    ",p1);
    56 
    57     char *p2 = "fffffeee";
    58     int t = mystrcmp(p,p2);
    59     printf("%d
    ",t);
    60     if(t>0)
    61         printf("p>p2
    ");
    62     else if(t<0)
    63         printf("p<p2
    ");
    64     else
    65         printf("p == p2
    ");
    66 
    67     return 0;
    68 }
  • 相关阅读:
    【作业4】测试作业-兴趣问题清单
    【读后感3】高效程序员的45个习惯
    【作业3】关于C语言的问卷调查
    【作业2】价值观作业
    Spring的零配置
    Spring容器中bean的作用域
    Spring注入方式
    Spring整合Struts2
    my first go
    Struts2对ajax的支持
  • 原文地址:https://www.cnblogs.com/wangchaomahan/p/9662420.html
Copyright © 2020-2023  润新知