문자열 사전찾기식 정렬 소스인데요
비교인자를 함수로 쓰면 안되는 이유가 먼가요?
밑에 쓴건 인트형 변수를 비교인자로 써서 정상 실행되는
소스입니다만
#include <stdio.h>
int Compare ( char hana [ ], char dul [ ] )
{
int i;
for ( i = 0 ; ; i ++ )
{
if ( hana [ i ] == \'\\0\' && dul [ i ] == \'\\0\' )
return 0;
if ( hana [ i ] == \'\\0\' && dul [ i ] != \'\\0\' )
return -2;
if ( hana [ i ] != \'\\0\' && dul [ i ] == \'\\0\' )
return +2;
if ( hana [ i ] < dul [ i ] )
return -1;
if ( hana [ i ] > dul [ i ] )
return +1;
}
}
int main(void)
{
char str5 [20];
char str6 [20];
int x;
for ( ; ; )
{
printf (\"Enter a word > (order) \");
scanf (\"%s\", str5);
printf (\"Enter a another word > (order) \");
scanf (\"%s\", str6);
x = Compare (str5, str6);
if ( x <= 0 )
printf (\"%s, %s \\n\\n\", str5, str6);
else if ( x > 0 )
printf (\"%s, %s \\n\\n\", str6, str5);
}
return 0;
}
네?
뭔지몰라도 잘되면 된거지ㅋ
함수 이름은 그 함수의 주소이기 때문. 함수 포인터 부분 들어가면 왜 그런지 이해하실듯