#include <stdio.h>
typedef char* vay_list;
#define vay_rounded_size(type) \
(((sizeof (type) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
#define vay_start(ap, v) \
((void) (ap = (vay_list) &v + vay_rounded_size (v)))
#define vay_arg(ap, type) \
(ap += vay_rounded_size (type), *((type *)(ap - vay_rounded_size (type))))
#define vay_end(ap) ((void) (ap = 0))
void PrintFloats (int amount, ...)
{
int i;
double vayl;
printf ("Floats passed: ");
vay_list vl;
vay_start(vl,amount);
for (i=0;i<amount;i++)
{
vayl=vay_arg(vl,double);
printf ("\t%.2f",vayl);
}
vay_end(vl);
printf ("\n");
}
int main ()
{
PrintFloats (3,3.14159,2.71828,1.41421);
return 0;
}
分享到:
相关推荐
资源中的串口打印,可用于所有TI系列功能安全类芯片,只需更改串口寄存器的地址即可使用。可用于串口调试。如何配置串口在本人博客中已经讲解,可以参考。
可变参数stdarg.h使用方法(例题) va_list用法 va_start已经 va_end
为了支持这种功能,C语言提供了一个特殊的头文件`stdarg.h`,其中包含了三个重要的宏:`va_start`、`va_arg`和`va_end`。通过这些宏,程序员可以创建出能够处理不定数量参数的函数。 #### 1. 宏的基本介绍 - **`va...
_mingw_stdarg.h
ANSI-C标准函数库是一套用于支持C语言编程的标准库集合,旨在提供一系列通用且标准化的功能,帮助开发者更高效地进行程序设计与实现。该标准库并非C语言的核心组成部分,但却是开发C程序不可或缺的一部分。它由多个...
C函数库,也被称为C语言库,是C编程语言中不可或缺的一部分。这些库包含了大量预定义的函数,供程序员在编写程序时调用,以实现特定的功能,如输入输出操作、数学运算、字符串处理、内存管理等。C语言库不仅提高了...
免费的单片机C语言常用头文件 单片机C语言是一种常用的嵌入式系统编程语言,需要使用各种头文件来提供函数和宏定义。本文将对免费的单片机C语言常用头文件进行详细的解释和分析。 1. assert.h - 断言头文件 ...
在C语言中,"portable" 通常意味着代码遵循ANSI C或C99、C11等标准,并且不依赖于特定的硬件特性或操作系统接口。因此,这个库可能包含了一些跨平台的解决方案,如文件操作、内存管理、输入/输出以及线程支持等功能...
C语言基于stdarg.h的可变参数函数的用法 在C语言中,函数的参数个数通常是在函数声明时指定的,但是在某些情况下,我们需要使用可变参数函数,即函数的参数个数可以根据实际情况而定。这种函数的实现是基于stdarg.h...
* <stdarg.h> : Variable Argument Lists * <stddef.h> : Definitions of General Use * <stdio.h> : Input and Output * <stdlib.h> : Utility functions * <string.h> : String functions * <time.h> : Time...
c的头文件stdio.h
Variable Argument Lists: <stdarg.h> Non-local Jumps: <setjmp.h> Signals: <signal.h> Date and Time Functions: <time.h> Implementation-defined Limits: <limits.h> and <float.h> Appendix C: Summary ...
C语言库主要分为标准库(如ANSI C或C99规定的库)和其他第三方库。标准库中最常用的部分包括: 1. **stdio.h** - 输入输出函数:`printf()` 用于格式化输出,`scanf()` 用于格式化输入,`fopen()` 和 `fclose()` ...
### C语言库函数归纳 #### 1. vsscanf() - **定义**: `#include <stdio.h>` - **函数原型**: `int vsscanf(const char *str, const char *format, va_list ap);` - **功能描述**: `vsscanf()` 函数用于根据指定的...
FILES ON DISKS -------------- DISK 1 ------ INSTALL EXE - Install program UNZIP EXE - Decompress .ZIP files README COM - Reads this README CLASSDBL ZIP - BIDSDBL PRJ - Project file for building ...
C语言函数库是C编程中的核心组成部分,它包含了大量的预定义函数,这些函数为程序员提供了丰富的功能,使得在编写程序时能够高效、便捷地处理各种任务。C语言库函数主要分为标准库(如stdio.h、stdlib.h等)和其他库...
- 将protoize.c文件的第60行中的`#include <varargs.h>`更改为`#include <stdarg.h>`。 - 修改obstack.h文件的第341行。 - 执行以下命令以避免出现`parser error stdio.h`的错误。 ```bash cp ./patched/sys/...
C语言库函数是C编程中的重要组成部分,它们提供了一系列预定义的功能,可以帮助程序员高效地完成各种任务,如输入输出操作、字符串处理、数学计算、内存管理等。在C语言中,库函数是通过链接到标准库来使用的,这些...
20. **`STDARG.H`** - **功能**: 定义了处理可变参数列表的宏。 - **示例**: `va_start()`, `va_end()` 21. **`STDLIB.H`** - **功能**: 提供了一组常用的函数,如字符串转换、排序等。 - **示例**: `atoi()`, ...