首页 > 编程语言 > 详细

9.C++: strcmp函数

时间:2021-01-26 22:46:00      阅读:31      评论:0      收藏:0      [点我收藏+]

很多问题中,我们会遇到有关名字排字典序的问题,这时候strcmp函数就派上了用场。

1.函数原型:

extern int strcmp(const char *s1,const char * s2);

2.需要包含头文件#include<string.h>

3.函数模板:

strcmp(str1,str2);

4.具体功能:

当str1<str2时,返回一个负数

当str1=str2时,返回值为零

当str1>str2时,返回一个正数

具体是两个字符串逐位按ASCII值大小比较,直到遇到‘\0‘或者出现不同的字符为止。

如:"A"<"B" "a">"A" "computer">"compare"

特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。

 

一例实现代码:

  #include <string.h>

  #include <memcopy.h>

  #undef strcmp

  int strcmp (p1, p2)

  const char *p1;

  const char *p2;

  {

  register const unsigned char *s1 = (const unsigned char *) p1;

  register const unsigned char *s2 = (const unsigned char *) p2;

  unsigned reg_char c1, c2;

  do{

  c1 = (unsigned char) *s1++;

  c2 = (unsigned char) *s2++;

  if (c1 == ‘\0‘)

  return c1 - c2;

  }

  while (c1 == c2);

  return c1 - c2;

  }

  libc_hidden_builtin_def (strcmp)

参考https://blog.csdn.net/zhao_fu_lu/article/details/20392239?ops_request_misc=&request_id=&biz_id=102&utm_term=strcmp%25E5%2587%25BD%25E6%2595%25B0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-20392239.first_rank_v2_pc_rank_v29

9.C++: strcmp函数

原文:https://www.cnblogs.com/NKHTH/p/14332594.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!