恶补c语言之strcmp的实现

strcmp()函数说明

按照ASCII表的先后顺序,比较两个字符串中各个对应字符大小;相同则返回0,不同则返回减值。

设这两个字符串为str1,str2,

若str1==str2,则返回零;

若str1>str2,则返回正数;

若str1<str2,则返回负数。

注:不同的编译器对返回值有不同的规定

int strcmp(char* str1, char* str2){

while(*str1 && *str2 && *str1==*str2){

++str1;

++str2;

}

return *str1-*str2;

}

时间: 2024-10-13 00:13:57

恶补c语言之strcmp的实现的相关文章

恶补c语言之strlen的实现

最近与同学交流c语言库函数的实现,发现自己所学的不能灵活运用,于是乎我就开启猛火力模式,先自己来实现下常见的库函数. strlen()函数说明 返回指定字符串长度,不包括结束字符'/0' 实现原型: int MyStrlen(const char *str) { int n; while(*str++ != '\0') n++; return n; } // 以下函数为测试函数 void main() { int m; char a[100]; printf("please input a st

恶补C++ 之 类型转换

类型转换,在程序设计中是令人鄙视,无法忍受的存在,但是在某些时候,类型转换又是必须的. 在C语言中,类型转换经常用圆括号和一些标识符组成,但是这种转换形式很不容易被发现,在阅读上也造成了一定的困难. 在C++中,虽然也兼容老式的C语言转换风格,但是更推荐使用C++风格的类型转换:static_cast, const_cast, dynamic_cast, reinterpret_cast.对于这四种类型转换的用法,我将对自己恶补一下. 首先是 static_cast,功能上基本与C风格的类型转换

【恶补】之python一天速成

python一天速成都是骗纸~怎么可能一天~只是快速了解一些基本的 首先我是个python新手,只在网上搜例子然后用python写过一些分析文件的脚本,现在工作需要,要短时间进一步了解python.这篇文章也不是给完全新手看的,还是给对python有一点接触且需要大致掌握或者对其他语言有一定研究的人看的. 一.执行过程 首先python是先编译后解释的语言,与php和java类似,php是先编译成opcode再解释执行,java是编译成.class文件然后由虚拟机执行,只是编译时机不同,php和

恶补Java(十三)之Java IO-----File类的用法

恶补Java---JavaI/O部分之File类的用法(笔记) 在java中,I/O(输入/输出)是比较乏味的事情,因为看不到明显的运行效果,但输入/输出是所有程序都必需的部分--使用输入机制,允许程序读取外部数据(包括来自磁盘.光盘等存储设备的数据).用户输入数据:使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘.光盘等存储设备中. Java的I/O通过java.io包下的类和接口来支持,在java.io包下主要包括输入.输出两种IO流,每种输入.输出流又可分为字节流和字符流两大类.其

恶补java(十)---泛型与集合的再学习

其余的就不多说了,一切都在代码中 package com.gc.generic; /** * JDK5 之前集合对象使用问题: * 1.向集合添加任何类型对象 * 2.从集合取出对象时,数据类型丢失,使用与类型相关方法,强制类型转换 * 存在安全隐患 * * ***************************** * * JDK5中的泛型:允许程序员使用泛型技术限制集合的处理类型 * List<String> list=new ArrayList<String>(); * 从而

恶补mac terminal的命令行知识

一个女孩的前端学习之路,希望可以帮助到别的在编程代码上学习的朋友们. 恶补mac terminal的命令行知识1-对于我来说最重要的几个命令行ls[list] /path : 看看某个路径的内容. cd /path 表示转到跟目录下的path路径中cd path 表示转到当前目录下的path路径中2-清理系统 sudo periodic daily然后回车,输入管理员密码即可.如果把daily换成weekly,则运行的是每周的清理.换成monthly,就是做每月的清理.如果直接输入:sudo p

【linux&amp;oracle】linux&amp;oracle恶补篇

linux&oracle恶补篇 linux同时开两个终端:ctrl+shift+t linux配置yum文件:/etc/yum.repos.d/xx.repo linux切换用户:su - username oracle 连接:sqlplus / as sysdba;conn / as sysdba; grid查看数据库的状态,数据库orcl的target是ofline的如何启动为online: srvctl enable database -d orclsrvctl start databas

C语言实现strcmp()和strcpy()函数

#include <stdio.h> #include <assert.h> char *strcpy(char *strDest, const char *strScr) { char *address = strDest; assert((strDest != NULL) && (strScr != NULL)); while(*strScr) { *strDest++ = *strScr++; } *strDest = '\0'; return address

C语言实现strcmp

注意转化为unsigned char: strcmp.h 1 #ifndef STRCMP_H 2 #define STRCMP_H 3 4 /*************************************************** 5 功能:比较字符串s1和s2. 6 一般形式:strcmp(s1,s2) 7 返回值: 8 当s1<s2时,返回值<0 9 当s1=s2时,返回值=0 10 当s1>s2时,返回值>0 11 **********************