strcmp是string.h里面的一个库函数,用来比较两个字符串,我们也可以自己写一个,

或许没有库函数那么严谨,但也能基本实现他的用处。


#include<stdio.h>
int my_strcmp(char* arr1,char* arr2)
{int i=0;while(*(arr1+i)==*(arr2+i)&&*(arr1+i)!=0&&*(arr2+i)!=0)i++;if(*(arr1+i)>*(arr2+i)) return 1;else if(*(arr1+i)<*(arr2+i)) return -1;else return 0;
}
int main()
{char arr[2][256];for(int i=0;i<2;i++)scanf("%s",&arr[i]);switch(my_strcmp(arr[0],arr[1])){case 1:printf("arr1>arr2");break;case 0:printf("arr1=arr2");break;case -1:printf("arr1<arr2");break;}return 0;
}

写法和库函数里面一样,比较的是ascii玛值的大小。

测试结果如下

2的ASCII玛大于1的ASCII玛,所以第二个更大。

但我觉得我平时写程序时很多时候更想要一个单纯比较长度的compare函数,

因此,我也打算后续再写一个单纯比较长度的函数。

链接:自己写一个长度比较函数_Koi279的博客-CSDN博客

自己写一个strcmp函数相关推荐

  1. 编写一个C程序,实现以下功能:用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp(char *p1,char *p2);设p1指向字符串s

    题目描述: 编写一个C程序,实现以下功能: 用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为: int strcmp(char *p1,char *p2); 设p1指向字符串s ...

  2. 自己写一个strcmp函数(C++)

    题目说明: 写一个函数,实现两个字符串的比较.即自己写一个strcmp函数,函数原型为int strcmp( char * p1, char * p2); 设p1指向字符串s1,p2指向字符串s2.要 ...

  3. 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为int strcmp(char * p1 ,char * p2); 设p1指向字符串s1, p2指向字符串s2。要求当s1=s2

    写一函数,实现两个字符串的比较.即自己写一个strcmp函数,函数原型为int strcmp(char * p1 ,char * p2); 设p1指向字符串s1, p2指向字符串s2.要求当s1=s2 ...

  4. (C语言)写一个函数,实现两个字符串的比较, 即自己写一个strcmp函数,函数原型为int strcmp(const char* p1, const char* p2)

    写一个函数,实现两个字符串的比较, 即自己写一个strcmp函数,函数原型为int strcmp(const char* p1, const char* p2);设p1指向字符串s1,p2指向字符串s ...

  5. 用指针写出strcmp函数

    题目:用指针写出strcmp函数. 思考:此题目和用指针写出strcpy函数一样.使用递归的思想,函数功能就是当s1和s2相等时,函数返回值为0,如果s1>s2时,函数返回值为正整数,s1< ...

  6. 自己动手写一个strlen()函数

    strlen()函数: strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回 ...

  7. 自己写一个pow()函数

    问题:请自己动手写一个pow()函数.   我们在学习C语言的时候,可能已经接触过pow()函数,它是C语言标准库函数中自带的一个函数,使用的时候只需包含<math.h>就可以了,不需要你 ...

  8. 写一个rtrim()函数消除字符串后面的空格字符。编main函数调用测试它。

    写一个rtrim()函数消除字符串后面的空格字符.编main函数调用测试它. **提示信息:"请输入一个字符串:" **输出格式要求:"去掉右边的空格后为%s!\n&qu ...

  9. 手写一个bind函数

    我们先看代码,bind 函数的使用方法 function test(a, b, c) {console.log(a, b, c);console.log('this', this)return '我是 ...

最新文章

  1. 并发和并行的区别_多核、多处理器、并发、并行、超线程概念总结
  2. HTML 怎么修改,怎么修改HTML
  3. reportviewer控件mysql_reportviewer控件下载
  4. activity的启动窗口
  5. 开源数据库Neo4j获8000万美元E轮融资,One Peak Partners、摩根士丹利领投
  6. apache camel_REST端点,可使用Apache Camel进行集成
  7. Java开发常用命名规范
  8. Python 编写代码出现 process finished with exit code 0
  9. poj Muddy Fields
  10. MFC的非模态对话框资源管理
  11. 软件工程实践——软件评测
  12. 分享一个修改电脑IP的小工具
  13. 基恩士KEYENCE激光打标机控制器维修ML-9110详解
  14. 关于冯诺依曼计算机语言,冯-诺依曼式程序语言浅论 -- NothingHere -- 编程爱好者博客...
  15. 听说,Java程序员都是吃青春饭的?
  16. aspcms转php,aspcms转phpcms方法
  17. 哈工大LTP的依存分析
  18. 如何成为一名好的项目经理?
  19. 【mybatis】Mybatis中的一级、二级缓存
  20. echarts地图钓鱼岛赤尾屿和南海诸岛内部岛屿问题

热门文章

  1. 手把手教你如何通过OAuth2.0新浪开放平台认证新浪用户-java
  2. 苹果CMS海螺模板4.0修复版带后台 附安装教程
  3. 微信公众号检测本地App, 安装则打开,未安装则下载的实现方式
  4. root 红米note5_怎么开启红米Note 5的ROOT权限
  5. Wangle中EchoClient分析
  6. 学做网站论坛怎么样?分享新手学习建网站5天感受
  7. PDF to EPUB Converter Mac(PDF转EPUB转换器)
  8. tomcat java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit异常解决
  9. nrf uart for android,nrf connect
  10. 开网站需要多少钱,制作一个网页需要多少钱