永发信息网

按照ASCII码顺序比较两个数组中的字符串,这该怎么比较大小?

答案:1  悬赏:40  手机版
解决时间 2021-04-02 16:38
按照ASCII码顺序比较两个数组中的字符串,这该怎么比较大小?
最佳答案
函数简介
  原型:extern int strcmp(const char *s1,const char * s2);
  所在头文件:string.h
  功能:比较字符串s1和s2。
  一般形式:strcmp(字符串1,字符串2)
  说明:
  当s1  当s1==s2时,返回值=0
  当s1>s2时,返回值>0
  即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
  "A"<"B" "a">"A" "computer">"compare"
  特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
  一例实现代码:
  #include
  #include
  #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)
编辑本段函数源码
  int __cdecl strcmp (
  const char * src,
  const char * dst
  )
  {
  int ret = 0 ;
  while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst&&*src)
  ++src, ++dst;
  if ( ret < 0 )
  ret = -1 ;
  else if ( ret > 0 )
  ret = 1 ;
  return( ret );
  }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
qq上tfboys的女朋友亲嘴图片怎么找
谁能说说市政道路施工验收规范有哪些
珠江钢琴赫莱曼D2黑色价格28000元贵吗?有人
无锡哪里有伟哥买
你知道哪些以口服人,以口才取胜的故事
蚝油有蚝油吗
如何将js中的值传递给html
抗滑桩板墙先做桩,开挖后。护壁与挡土板之怎
万石君传《史记》译文 :万石君,名奋……
科目二正常要学多久才能开始啊??
苦海泛起爱恨,或许应该相信缘份,什么歌?张国
Ios版的饥荒死了以后就不能从前一天开始了吗
为什么简单百宝箱里的dnf百宝箱里的音乐关不
第二次离婚上诉还有可能不判吗
求教,三鼎全站仪sts-752l怎么打开激光对中啊
推荐资讯
“蕙心兰质”是什么意思?怎么造句?
求问全新imac硬盘使用时间55小时,通电次数80
关于新年祝福的诗句
钣金折弯的工艺图怎么看
豪炎寺修也 用日语怎么说 嗯...罗马拼音...
LED屏幕如何修改文字?
怎么判断相亲来是真的
怎么才能练好数学计算题
歌词的胸口...领袖这首歌的歌名是什么?
你知道限高4米是什么意思吗?在校园里找一找4
讨论是否可以使用石墨炉法测定元素铜含量,和
下列行为符合网络道德规范的是(  &
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?