strcmp实现

;***

;strcmp - compare two strings, returning less than, equal to, or greater than

;

;Purpose:

;       Compares two string, determining their lexical order.  Unsigned

;       comparison is used.

;

;       Algorithm:

;          int strcmp ( src , dst )

;                  unsigned char *src;

;                  unsigned char *dst;

;          {

;                  int ret = 0 ;

;

;                  while( ! (ret = *src - *dst) && *dst)

;                          ++src, ++dst;

;

;                  if ( ret < 0 )

;                          ret = -1 ;

;                  else if ( ret > 0 )

;                          ret = 1 ;

;

;                  return( ret );

;          }

;

;Entry:

;       const char * src - string for left-hand side of comparison

;       const char * dst - string for right-hand side of comparison

;

;Exit:

;       AX < 0, 0, or >0, indicating whether the first string is

;       Less than, Equal to, or Greater than the second string.

;

;Uses:

;       CX, DX

;

;Exceptions:

;

;*******************************************************************************


 
 
 
#include <stdio.h>

#include <string.h>

#include <assert.h>

#include <stdlib.h>



char *mystrcmp(char *src, const char *dst)

{

	int ret = 0;



	while (!(ret = *src - *dst) && *dst)

		++src, ++dst;



	if (ret < 0)

		ret = -1;

	else if (ret > 0)

		ret = 1;



	return (ret);

}



int main(int argc, char* argv[])

{

	char dst[] = "dest";

	char *src = "desr";



	printf("%d", mystrcmp(dst, src));

	return 0;

}

你可能感兴趣的:(实现)