2011年1月25日星期二

strcmp实现

strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.
比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。

int strcmp( const char *string1, const char *string2 )
{
  int i;
  do
  {
    i = (int)*string1 -(int)*string2;
  }
  while(*string1++ && *string2++ && (!i) );
  return i;
}

没有评论:

发表评论