700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 可变参数的函数 va_start() va_arg() va_end()

可变参数的函数 va_start() va_arg() va_end()

时间:2021-01-22 09:12:11

相关推荐

可变参数的函数 va_start()  va_arg()  va_end()

头文件 stdarg;类型va_list;宏va_start;宏va_arg;宏va_end

1 #include <stdio.h>2 #include <stdarg.h>3 4 // 只能是3个点 ...5 int printArgs(int begin, ...)6 {7 va_list ap;8 char *p;9 int count;10 // va_start 初始化va_list类型变量,使其指向可变参数列表的头11 va_start(ap, begin);12 // va_arg 返回一个可变参数,并使ap指向下一个可变参数13 p = va_arg(ap, char *);14 count = 0;15 while(p != NULL)16 {17 count++;18 printf("arg %d: %s\n", count, p);19 p = va_arg(ap, char *);20 }21 // va_end 清理工作22 va_end(ap);23 return count;24 }25 26 int main(void)27 {28 int count;29 30 count = printArgs(-1, "hello", "world", NULL);31 printf("the number of arguments: %d\n", count);32 33 count = printArgs(0 , "jiangsu", "nanjing", "qixia", NULL);34 printf("the number of arguments: %d\n", count);35 return 0;36 }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。