12-8.c

来自「51单片机开发与应用技术详解(珍藏版)PPT及源码」· C语言 代码 · 共 39 行

C
39
字号
#include <stdarg.h>								//头文件
#include <stdio.h>

int varfunc (char *buf, int id, ...)						//自定义函数
{
  va_list tag;									//定义tag为参数表指针

  va_start (tag, id);								//调用va_start函数
if (id == 0)
{
    int arg1;
    char *arg2;
    long arg3;

    arg1 = va_arg (tag, int);						//调用va_arg函数返回参数
    arg2 = va_arg (tag, char *);
    arg3 = va_arg (tag, long);
  }
  else 
{
    char *arg1;
    char *arg2;
    long arg3;

    arg1 = va_arg (tag, char *);						//调用va_arg函数返回参数
    arg2 = va_arg (tag, char *);
    arg3 = va_arg (tag, long);
  }
  va_end (tag);									//关闭参数表
}

void main(void) 
{
  char tmp_buffer [10];

  varfunc (tmp_buffer, 0, 27, "Test Code", 100L);		//调用函数
  varfunc (tmp_buffer, 1, "Test", "Code", 348L);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?