strcmp()字符串⽐较函数⽤法
原型:int strcmp(const char *s1, const char *s2);
头⽂件:#include <string.h>
功能:⽐较两个字符串⼤⼩
参数:s1、s2为进⾏⽐较的两个字符串
返回值:若s1、s2字符串相等,则返回零;若s1⼤于s2,则返回⼀个正数;若s1⼩于s2,则返回负数。
说明:strcmp()函数根据ACSII码的值⽐较两个字符串。从第⼀个字符开始,依次将s1中某个下标(从0开始依次往后)的字符的ACSII码值,减去s2中相同下标的字符的ACSII码值,若差值不为零,则返回ACSII码差值(视使⽤的编译器不同,也有可能返回-1、0、1这三个值之⼀)。若差值为零则⽐较下⼀个下标位置的两个字符,直到出现差值不为0,或者检索到'\0'为⽌s1、s2对应位置的字符的ACSII码值都相同。注意:绝⼤多数字符串相关操作都出现'\0'就代表字符串结束,'\0'之后的字符往往没有意义甚⾄会带来错误。字符串比较函数实现
⼏个⽐较结果的举例:
1char *p="abc"/"Abc"/"abcde"/"abc\0d";
2char *q="ac" /"aBC"/"abcf" /"abc\0z";
3 printf("%d\n",strcmp(p,q));// -1/-1/-1/0
strcmp可以接受的形式:
①、指向字符串的指针;②、字符数组的数组名;③、字符串。
其中,使⽤②会产⽣变数,如char p[4]="abcd"只是字符数组不是字符串没有'\0'结尾,也能使⽤strcmp进⾏⽐较,此时⽐较的末尾便不
是'\0',⽽是最后⼀个数组元素。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论