b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

C语言字符串函数1的算法实现

电脑杂谈  发布时间:2020-05-06 16:27:08  来源:网络整理

c strchr函数_c strchr()函数的结果_strchr和strrchr函数

21:32:23 2019-06-01

今天回顾了C字符串函数,以及字符串函数的算法

首先,强调字符串函数在头文件中

1.strcmp函数

c strchr函数_c strchr()函数的结果_strchr和strrchr函数

用法: intstrcmp(char * str1,char * str2);

功能: 字符串比较,相等返回0,不相等返回字符串中第一个不匹配字符的数值差(str1-str2,数值差: 也是ASCII的差)

算法实现

int mystrcmp(char *p1,char *p2)
{ // *p1,*p2 用来存储字符串str1,str2的首地址(也就是字符数组名)
    int i=0;
    while(p1[i]==p2[i]&&p1[i]!='\0')  //从第一个字符开始比较,若相等且没有终止,一直向前
    {
       i++;
    }
    int num;  //用来代表返回值
    if(p1[i]=='\0'&&p2[i]=='\0')  //两字符串都结束的情况
    {
       num=0;  //判断为相等
    }
    else
    {
       num=p1[i]-p2[i];  //讲字符ASCII码差值赋值给num
    }
    return num;
}

c strchr()函数的结果_c strchr函数_strchr和strrchr函数

2.strchr函数

用法: char * strchr(char * str,charc);

功能: 如果没有返回NULL,则查找字符串中给定字符的第一个出现位置,否则返回第一个出现位置的指针

算法实现:

strchr和strrchr函数_c strchr()函数的结果_c strchr函数

char *mystrchr(char *str, char c)
{
   if(str==NULL)
   {
      return NULL;
   }
   else
   {
      whlie(*str !='\0')
      {
         if((*str)==ch)  // *str等价于 str[i],也就是字符串中的某个字符
         {
             return str;
             break;         //相等返回地址并退出循环
         }
         str++;
      }
      return NULL;
   }
}

3.strcat函数

用法: char * strcat(char * destin,char *源);

功能: 字符串拼接功能,成功返回第一个地址c strchr()函数的结果,否则返回NULL

c strchr函数_c strchr()函数的结果_strchr和strrchr函数

算法实现:

char *mystrcat(char *str1, char *str2)
{
    if (str1 == NULL || str2 == NULL)
        return NULL;
    char *p = str1;//用指针保存str1的首地址
    while (*str1 != '\0')
    {
        str1++;
    }
    while (*str2 != '\0')
    {
        *str1 = *str2;
        str1++;
    }
    *str1 = '\0';
    return p;//返回首地址
}

今天从这里开始,明天继续!

不要过多地依赖库函数,您必须自己实现它c strchr()函数的结果,这对您的理解和成长很有帮助.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-200755-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...