#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h> 

 

char com(char *data);


int main(void)
{
 char* array[5] = {"000","123","234","456","789"};

 //가변인자에 데이타 보내기
 com(array[0],array[1],array[2],array[3],NULL);
 return 0;
}


//가변인자를 선언한 com 함수
char com(char *data,...)
{
 char *ptr;
 int a;
 int min;
 int max;

 va_list arg_ptr;

 a = atoi(data);
 min = max = a;

 // 시작 - char* data 다음 parameter 변수를 va_list에 담는다.
 va_start(arg_ptr, data);

 while(1)
 {
  //가져오기 - va_list에서 데이타 가져오기( char* 는 리턴될 가변 변수의 데이타 형입니다.)
  ptr = va_arg(arg_ptr,char*);

  //가변인자 값이 NULL이오면 반복종료
  if(!ptr) break;

   a = atoi(ptr);

   if(a < min) min = a;
   if(a > max) max = a;
 }

 // 끝 - 모든 변수를 읽은 후 정상적인 리턴을 위하여 종료 

 va_end(arg_ptr );

 

 printf("the max number = %d\n",max);
 printf("the min number = %d\n",min);
}