이런! 옮기다 한 라인을 빼먹었군요. 노인성 치매 증상이랍니다. 흑흑~ 다시 올립니다. #include <stdio.h> #include <varargs.h> void f(va_alist) va_dcl /* 빼먹었던 라인 */ { va_list args; char *s; va_start(args); while (s = va_arg(args, char *)) printf("%s ", s); va_end(args); printf("\n"); } void main() { f("one", NULL); f("one", "two", NULL); f("one", "two", "three", NULL); f("one", "two", "three", "four", NULL); } ------------ 그런데 varargs.h 방식은 옛날 유닉스와 호환된다는 장점은 있지만 몇가지 문제점이 있습니다. stdargs.h 가 지원되는 환경이라면 stdargs.h를 쓰는 것이 좋습니다. #include <stdio.h> #include <stdarg.h> void f(char* s,...) { va_list args; va_start(args, s); while (s) { printf("%s ", s); s = va_arg(args, char *); } va_end(args); printf("\n"); } void main() { f("one", NULL); f("one", "two", NULL); f("one", "two", "three", NULL); f("one", "two", "three", "four", NULL); } -------------------------------------------------------------------- quack n 1.꽥꽥(오리 소리) 2.소음 lsj@fiat.snu.ac.kr n 1.돌팔이 2.사기꾼 3.허풍쟁이 http://plaza.snu.ac.kr/~lsj --------------------------------------------------------------------