http://www.hackerschool.org/HS_Boards/zboard.php?desc=desc&no=104 [º¹»ç]
½±°Ô ¼³¸íÇÏÀÚ¸é
strcmp ¶ó´Â ÇÔ¼ö¸¦ °¡Á¤Çϸé
a == b À̸é 0 À» ¸®ÅÏ
a < b À̸é À½¼ö¸¦ ¸®ÅÏ
a > b ÀÌ¸é ¾ç¼ö¸¦ ¸®ÅÏ
ÀÌ·±½Ä À¸·Î ¸®ÅÏÀ» ÇÏ¿© ÁÝ´Ï´Ù.
±×·³ ¿ì¸®´Â
if( (strcmp( "aaa" , "aaa" ) == 0 )
{
printf( "°°³×¿ä\n" );
}
ÀÌ·±½ÄÀ¸·Î strcmp ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.
strcmp ÇÔ¼öÀÇ ³»ºÎ¸¦ º¸¸é
Àú·±½ÄÀ¸·Î ºñ±³ÇÏ°í ³ª¼ °°À¸¸é 0 ÀÌ·±½ÄÀ¸·Î ¸®ÅÏÀ» ÇÕ´Ï´Ù.
Á¤¸» ±×·¯³Ä±¸¿ä?
Àú¹ø¿¡ ±¸ÇöÇÑ°Ô Àִµ¥ Âü°íÇϼ¼¿ä
- strcmp.c -
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
int M_strcmp( const char *a , const char *b );
int main( void )
{
char a[] = "abcde\n";
char b[] = "abxaa\n";
char c[] = "asf\n";
char d[] = "eqwefawf\n";
printf("%d\n",M_strcmp( a , b ));
printf("%d\n",M_strcmp( a , c ));
printf("%d\n",M_strcmp( a , d ));
}
int M_strcmp( const char *a , const char *b )
{
unsigned int re1;
signed int re2;
int al = strlen( a );
int bl = strlen( b );
for( ; *a ; a++ , b++ )
{
if( *a > *b ) return re1;
else if( *a < *b ) return re2;
else if( *a == *b ) continue;
}
if( al > bl )
return re1;
else if( al < bl )
return re2;
else if( al == bl )
return 0;
}
- End Of Source - |
Hit : 3840 Date : 2003/09/27 12:17
|