C语言中strcmp的实现原型
C语言中strcmp的实现原型
实现代码:
int __cdecl strcmp (
const char * src,
const char * dst
)
{
int ret = 0 ;
while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
++src, ++dst;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
}
函数原型:int strcmp(const char *dest, const char *source) ;
返回值:返回整数值,如果dest > source,则返回值大于0,如果dest = source,则返回值等于0,如果dest < source ,则返回值小于0。字符大小是按照字符的字典序列进行排列的。
参数说明:都是以''/0''为结束符的字符串
实现;
int strcmp(const char *dest, const char *source)
{
assert((NULL != dest) && (NULL != source));
while (*dest && *source && (*dest == *source))
{
dest ++;
source ++;
}
return *dest - *source;
/*如果dest > source,则返回值大于0,如果dest = source,则返回值等于0,如果dest < source ,则返回值小于0。*/
}
以上就是C语言中strcmp的实现原型的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
C++实现strcmp字符串比较的深入探讨
strcmp的实现函数简介原型:extern int strcmp(const char *s1,const char * s2); 用法:加头文件 #include <string.h> 功能:比较字符串s1和s2.一般形式:strcmp(字符串1,字符串2)返回值: 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止.如:"A
-
浅谈C语言中strcpy,strcmp,strlen,strcat函数原型
实例如下: //strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' char *strcat(char * strDest, const char *strSrc) { char *res=strDest; assert((strDest!=NULL)&&(strSrc!=NULL)); while(*strDest)strDest++; while(*strDest=*strSrc) { strDest++; strSrc
-
C语言中strlen() strcpy() strcat() strcmp()函数的实现方法
strlen函数原型:unsigned int strlen(const char *);返回的是字符串中第一个\0之前的字符个数. 1.strcat函数原型char* strcat(char* dest,const char* src); 进行字符串的拼接,将第二个字符串连接到第一个字符串中第一个出现\0开始的地方.返回的是拼接后字符的首地址.并不检查第一个数组的大小是否可以容纳第二个字符串.如果第一个数组的已分配的内存不够容纳第二个字符串,则多出来的字符将会溢出到相邻的内存单元. 2.str
-
C语言中strcmp的实现原型
C语言中strcmp的实现原型 实现代码: int __cdecl strcmp ( const char * src, const char * dst ) { int ret = 0 ; while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst) ++src, ++dst; if ( ret < 0 ) ret = -1 ; else if ( ret > 0 ) ret = 1 ; ret
-
C语言中“不受限制”的字符串函数总结
"不受限制的"字符串函数 按<C和指针>中所说,那些常用的字符串函数都是"不是限制的",就是说它们只能通过寻找字符串末尾的NULL来判断字符串的长度. strlen strlen函数用于求解字符串长度,其返回类型为unsigned int(即size_t).strlen函数从起点开始,往后计数,遇到'\0'停止. 值得注意的是:strlen函数的返回类型.看如下代码: #include<string.h> #include<iostre
-
详解C语言中return与exit的区别
详解C语言中return与exit的区别 1,exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的.main函数结束时也会隐式地调用exit函数.exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流.关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件.exit是结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程,而return是返回函数值并退出函数 2,return是语言级别的,它
-
C语言中qsort函数用法实例小结
本文实例汇总了C语言中qsort函数的常见用法,非常具有实用价值.分享给大家供大家参考.具体分析如下: C语言中的qsort函数包含在<stdlib.h>的头文件里,本文中排序都是采用的从小到大排序. 一.对int类型数组排序 int num[100]; int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp); 二.对char类型数
-
C语言中system()执行cmd命令打开关闭程序的方法
函数原型: int system(char *command); 使用该函数需要添加<stdlib.h>头文件 1.打开程序 系统自带程序可直接使用start命令 system("start iexplore.exe"); //启动ie 非系统自带程序需要加入路径 system("start D:\Tencent\WeChat\WeChat.exe"); //启动改路径下的客户端 注意如果路径中有空格,需要对整个路径添加双引号 2.关闭程序 system
-
C语言中extern详细用法解析
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明"此变量/函数是在别处定义的,要在此处引用". 1. extern修饰变量的声明. 举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v.能够被其他模块以extern修饰符引用到的变量通常是全局变量.还有很重要的一点是,extern int v可以放在a.c中的任何地方,比如你可以在a.c中的函数fun定义的开头处声明extern int v,然后就
-
C语言中.c和.h文件区别讲解
C语言中.h和.c文件解析 简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 预处理阶段 词法与语法分析阶段 编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件) 连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也就是去掉了文件格式信息.(生成.exe文件) 编译器在编译时是以C文件为
-
C语言中qsort函数的介绍与用法实例
目录 一.qsort函数是什么 二.使用qsort排序-以升序为例 1.整形数组排序 2.字符数组排序 3.字符指针数组排序 4.结构体数组排序 5.浮点型数组排序 三.使用冒泡排序思想模拟实现qsort函数 1.什么是冒泡排序: 2.冒泡排序代码 3. 使用冒泡排序思想模拟实现qsort函数 总结 一.qsort函数是什么 我们可以使用 搜索库函数网址或者MSDN软件进行查找. qsort()函数:快速排序的函数 -引用stdlib.h头文件 参数说明: void qsort ( void
随机推荐
- VMWARE安装与VMWARE下LINUX系统安装(图文教程)
- jquery 事件冒泡的介绍以及如何阻止事件冒泡
- 详解CentOS7安装配置vsftp搭建FTP
- 使用phpexcel类实现excel导入mysql数据库功能(实例代码)
- Docker快速入门以及环境配置详解
- JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
- jquery实现简单实用的轮播器
- Java实现软件运行时启动信息窗口的方法
- php 高性能书写
- Lua教程(十): 全局变量和非全局的环境
- 电脑"蓝屏"原因之速查手册
- Android Studio default not found错误解决办法
- Java中的BufferedInputStream与BufferedOutputStream使用示例
- 在ASP.NET 2.0中操作数据之二十一:实现开放式并发
- 图形数字验证代码
- JS+HTML+CSS实现轮播效果
- PHP自定义序列化接口Serializable用法分析
- SQL Server 2008数据库分布式查询知识
- 详解SPA中前端路由基本原理与实现方式
- 10个在JavaScript开发中常遇到的BUG
