不使用库函数,编写函数int strcmp(char *source, char *dest) 相等返回0,不等返回-1;

答案:一、

int strcmp(char  *source, char *dest)

      /* assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息, 
          然后通过调用 abort 来终止程序运行。 */

      assert((source!=NULL)&&(dest!=NULL));     

    int i,j; 

  for(i=0; source[i]==dest[i]; i++) 

  { 

    if(source[i]=='\0' && dest[i]=='\0')   

    return 0;  else    return -1; 

  }

}

答案:二、

int strcmp(char *source, char *dest)

{   

  while ( (*source != '\0') && (*source == *dest))   

   {

           source++;

           dest++;   

  }   

  return ( (*source) - (*dest) ) ? -1 : 0;

posted @ 2017-02-09 09:27  我有一壶酒  阅读(2064)  评论(0编辑  收藏  举报