• 字符串(strcmp)


    【1】字符串比较函数如何实现?

    函数原型:int mystrcmp(const char *src,const char *dst)

    小于返回值:-1

    等于返回值:0

    大于返回值:1

    (1)第一种实现代码如下:

     1 int mystrcmp(const char *src, const char *dst)
     2 {
     3     int ret = 0;
     4     while (!(ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
     5     {
     6         ++src;
     7         ++dst;
     8     }
     9     if (ret < 0)
    10         ret = -1;
    11     else if (ret > 0)
    12         ret = 1;
    13 
    14     return ret;
    15 }

    (2)第二种实现代码如下:

     1 #include <iostream>
     2 using namespace std;
     3  
     4 int strcmp(const char *si, const char *sd)
     5 {
     6     int k;
     7     while ((k = *si - *sd) == 0 && *si++ && *sd++);
     8     return k;
     9 }
    10 
    11 void  main()
    12 {
    13     char * str1 = "abcdef";
    14     char * str2 = "abcgef";
    15     char * str3 = "abccef";
    16     char * str4 = "abcdef";
    17     cout << strcmp(str1, str2) << endl;   // -3
    18     cout << strcmp(str1, str3) << endl;   // 1
    19     cout << strcmp(str1, str4) << endl;   // 0
    20 }

    Good Good Study, Day  Day  Up.

    顺序  选择  循环  总结 

    作者:kaizen
    声明:本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此声明,且在文章明显位置给出本文链接,否则保留追究法律责任的权利。
    签名:顺序 选择 循环
  • 相关阅读:
    京东饭粒捡漏V1.15
    京东饭粒捡漏V1.14
    京东饭粒捡漏V1.13
    京东饭粒捡漏V1.1.0
    京东饭粒捡漏V1.0.8
    京东饭粒捡漏V1.0.7
    性能瓶颈分析总结
    Jmeter循环控制
    HttpClient接口测试之会话保持
    Jenkins自动部署Tomcat项目
  • 原文地址:https://www.cnblogs.com/Braveliu/p/2840753.html
Copyright © 2020-2023  润新知