C语言strcmp函数是什么样的代码

   更新日期:2024.05.21

C语言中strcmp函数是string库的常用函数。其原型代码和介绍如下:

1.先说一下这个函数的实现原理,向strcmp()函数中传入两个字符串(记为str1,str2).传入之后,通过把str1的各字母的ASCII码值和str2的各字母的ASCII码值进行比较。若str1>str2则返回正数,若str1=str2则返回0,否则,则返回负数。

2.下面实现代码:

3.整个函数的原型中得益于“(*str1!='\0')&&(*str1==*str2)”这一句的代码,因为这样当字符指针指向空,意味着字符串已经移动到最后了,比较结束,此时可以退出循环。而如果两个字符串不相等时,则此时函数也可以退出了。

扩展资料:

这个函数要注意一下几点:

①使用*(unsigned char*)str1而不是用*str1。这是因为传入的参数为有符号数,有符号字符值的范围是-128~127,无符号字符值的范围是0~255,而字符串的ASCII没有负值,若不转化为无符号数这回在减法实现时出现错误。

②While循环中ret=*(unsigned char*)str1-*(unsigned char*)str2) && *str1,最后与上str1也可以换成str2,因为前面已经做了相减,无论哪个先为‘\0’都会退出。因为最后与上str1是为了判断str1是否结束,即是否为‘\0’。

③这个函数没有判断参数为NULL时的情况,所以当传入NULL时程序会崩溃。网上看别人说商业化代码都会在调用strcmp前先判断是否为NULL,所以可以不用判断NULL;我在VC6上测试string.h中的strcmp(NULL,NULL),程序也会崩溃。这里可以根据实际情况来决定。

参考资料来源:百度百科-strcmp函数



  • 13495937836 :c语言中strcmp是什么意思(strcmp头文件是什么)
    长采娄2143 :答:strcmp函数是stringcompare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1str2,则返回正数。两个字符串不相等时,C标准没有规定返回值会是1或-1,只规定了正数和负数。strl在c语言中的意思 strl是strlen这个词的缩写...
  • 13495937836 :C语言中用strcmp函数比较字符和字符串是否相等。
    长采娄2143 :答:C语言中用strcmp函数比较字符和字符串是否相等。strcmp函数功能是比较两个字符串的大小,返回比较的结果。函数形式:strcmp(str1,str2)参数说明:str1,str2可以是字符串常量或变量。结果说明:①返回值小于0,说明str1小于str2。②返回值等于0,说明str1与str2相等。③返回值大于0,s说明str1大于str...
  • 13495937836 :C语言中的strcmp函数有什么作用,它的格式是怎样的?
    长采娄2143 :答:strcmp函数是比较两个字符串的大小,返回比较的结果。一般形式是:i=strcmp(字符串,字符串);其中,字符串1、字符串2均可为字符串常量或变量;i 是用于存放比较结果的整型变量。比较结果是这样规定的:①字符串1小于字符串2,strcmp函数返回一个负值;②字符串1等于字符串2,strcmp函数返回零;③字符串1大...
  • 13495937836 :C语言strcmp函数是什么样的代码
    长采娄2143 :答:C语言中strcmp函数是string库的常用函数。其原型代码和介绍如下:1.先说一下这个函数的实现原理,向strcmp()函数中传入两个字符串(记为str1,str2).传入之后,通过把str1的各字母的ASCII码值和str2的各字母的ASCII码值进行比较。若str1>str2则返回正数,若str1=str2则返回0,否则,则返回负数...
  • 13495937836 :C语言中的strcmp函数有什么作用,它的格式是怎样的?
    长采娄2143 :答:strcmp函数是比较两个字符串的大小,返回比较的结果。一般形式是:i=strcmp(字符串,字符串);其中,字符串1、字符串2均可为字符串常量或变量;i 是用于存放比较结果的整型变量。比较结果是这样规定的:①字符串1小于字符串2,strcmp函数返回一个负值;②字符串1等于字符串2,strcmp函数返回零;③字符串1...
  • 13495937836 :在C语言中,strcmp()是什么函数?
    长采娄2143 :答:比较字符串的函数,是很基本的函数 原型:extern int strcmp(char *s1,char * s2);用法:#include <string.h> 功能:比较字符串s1和s2。说明:当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 举例:// strcmp.c include <syslib.h> include <string.h> main(){ char ...
  • 13495937836 :strcmp(a,b)字符串怎么比较
    长采娄2143 :答:1. strcmp()函数的概述 strcmp()是C语言中的一个标准库函数,用于比较两个字符串。它的原型通常定义在头文件中。这个函数的作用是按照字典顺序(ASCII值)比较两个字符串,并返回一个整数值来表示这两个字符串的相对关系。2. strcmp()函数的工作原理 strcmp(a,b)会比较字符串a和b的每个字符,从第...
  • 13495937836 :c语言中 strcmp()函数的原型和实现是什么样的,
    长采娄2143 :答:strcmp简介:函数原型int strcmp(const char *str1,const char *str2);其作用为 将str1的各个字母的ASCII码与str2的进行比较。若str1>str2则返回整数,若str1=str2返回0,否则,返回负数 一般这样调用:if(strcmp(str1,str2)==0)...else ...当然,这是C语言的库函数,它的代码存储在某个...
  • 13495937836 :C语言中strcmp函数的使用
    长采娄2143 :答:在C语言中,我们常常使用strcmp函数来比较字符和字符串是否相等。这个函数不仅能比较两个字符串的大小,还能告诉我们哪个字符串更大或者哪个字符串更小。🔍函数形式简单strcmp函数的函数形式非常简单,只需要传入两个字符串,例如strcmp(str1, str2)。这里的str1和str2可以是字符串常量,也可以是...
  • 13495937836 :C语言strcmp函数
    长采娄2143 :答:两个字符串自左向右逐个字符相比,出现不同的字符b和B s1>s2,返回正数;因为ASCII码中B在b后面 原型:int strcmp(const char firststring[], const char secondstring);功能:比较两个字符串firststring和secondstring 例程:include <iostream.h> include <string.h> void main(void){ char buf1[...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网