• stdarg的使用


    // 可变参头文件 <stdarg.h>
    // 主要依赖五个宏: va_list,va_start, va_arg, va_end, va_copy
    // 其中 va_copy 是 c99 新引进的
    // 可以结合 vsnprintf 一起使用用于打印日志
    // va_list // 本质为char*指针,指向可变参的列表,用于声明变量 // eg. va_list ap; // va_start // 获取可变参数列表的第一个参数的地址, para为可变参数最左边的参数,即...之前的最后一个参数 // eg. va_start(ap, para) // va_arg // 获取可变参数的当前参数并将指针指向下一参数, type为当前参数的类型 // eg. va_arg(ap, type) // va_end // 与清空va_list的参数列表,与va_start配合使用 // eg. va_end(ap) // va_copy // 复制 va_list 的变量 // eg. va_copy(des, src) #include <stdio.h> #include <stdarg.h> void printint(int arg, ...) { int t; va_list ap; va_start(ap, arg); for(;;) { t = va_arg(ap, int); if(t == 0) break; printf("%d ", t); } printf(" "); va_end(ap); } int main() { printint(1,2,3,4,5,0); printint(34,12,0); return 0; } // output: // 2 3 4 5 // 12

     

  • 相关阅读:
    对《应试教育》有感
    月总结
    有趣的生活,有趣的比赛
    H5之js拼接select级联优化
    H5之js拼接select与input的级联
    OA-分页查询(抽象最终版)二
    OA-分页查询(抽象最终版)一
    今目标反思
    电子商务运作的随想
    旅游票务网站
  • 原文地址:https://www.cnblogs.com/tongyishu/p/11690899.html
Copyright © 2020-2023  润新知