可变参数列表:
例子:写一个函数,求给定所有参数的平均值,函数的参数的个数是不定的
[root@xhu-vm test]# more test6.c
#include <stdio.h>
#include <stdarg.h>
float average(int n_values,...)
{
va_list var_arg;
int count;
float sum=0;
va_start(var_arg,n_values);
for(count=0;count<n_values;count++)
{
sum+=va_arg(var_arg,int);
}
va_end(var_arg);
return sum/n_values;
}
int main()
{
printf("%f\n",average(4,1,2,3,4));
}
[root@xhu-vm test]#
编译运行:
[root@xhu-vm test]# gcc -g test6.c -o test6
[root@xhu-vm test]# ./test6
2.500000
[root@xhu-vm test]#
分享到:
相关推荐
在C语言中,你可以使用开源库如OpenSSL提供的`EVP_DigestInit`, `EVP_DigestUpdate`和`EVP_DigestFinal`系列函数来实现SHA-1、SHA-256等哈希函数。 2. **预处理密钥**:HMAC算法要求密钥首先进行处理,以便适应所选...
### Linux C语言编程一站式学习知识点概览 #### 标题:Linux C语言编程一站式学习--pdf完整版 - **核心内容**:本书旨在为初学者和有一定基础的学习者提供一个全面且系统的C语言编程学习资源,特别强调在Linux环境...
C语言函数大全是学习和参考C语言编程的关键资源,它通常包含了C语言标准库中的所有函数,以及一些常用的第三方库函数。这份"Linux C语言函数大全(htm 版,比较全)"很可能是一个HTML文档,提供了一个方便的在线查阅...
2. **Glibc**:GNU C库,提供了许多C语言编程所需的函数,是Linux系统的基础。 3. **Binutils**:包括汇编器、链接器和二进制工具,用于处理目标代码和对象文件。 4. **Make工具**:用于自动化构建过程。 5. **...
本资源"Linux C语言函数大全"很可能是一本详细介绍了C语言在Linux环境下的各种函数用法的书籍或文档集合,名为"book180"。在Linux环境下,C语言的函数库尤其丰富,包括标准C库、POSIX扩展以及Linux特有的系统调用等...
在Linux环境下进行C语言编程,特别是涉及到网络编程时,我们需要理解和掌握一些关键概念和技术。以下是一些相关的知识点: 1. **字符串与数组的区别**: - `sizeof(str)` 在这里返回的是指针的大小,即32位系统下4...
### C语言进阶——第二讲C语言复习 #### C语言概览 C语言是一种广泛使用的通用编程语言,尤其适用于系统编程、嵌入式系统开发等领域。本次讲座将围绕C语言的关键概念和技术要点展开讨论。 #### C语言的历史背景 ...
在本资源中,我们主要关注的是“嵌入式高级C语言进阶”的第四讲源码,这来源于东南大学集成电路研究中心凌明老师的课程。这门课程旨在深入探讨在嵌入式系统中如何更有效地使用C语言进行开发,尤其针对内存管理和优化...
在C语言中,没有内置的函数可以直接处理这些文件,因此需要借助第三方库来实现。"Linux C语言的配置文件操作库"可能包括如Glib的gconf、libconfig或inih等库,它们提供了便捷的API,使开发者能够轻松地与配置文件...
### C语言进阶——第三讲:编译、汇编与调试 #### 一、面向嵌入式系统的软件开发环境 面向嵌入式系统的软件开发环境通常包括以下几部分: 1. **编译器**:负责将高级语言如C/C++等源代码翻译成汇编语言。 2. **...
#### 五、C语言编程步骤 1. **编辑源代码**:在文本编辑器或IDE中编写C语言源代码。 2. **编译源文件**:使用编译器(如GCC、Clang等)将源代码编译成目标文件(.obj)。 3. **链接生成应用程序**:将目标文件与...
### C语言进阶—第六讲:中断与驱动 #### 核心知识点概览 1. **中断的概念及其分类** 2. **中断处理的过程** 3. **中断的重要性** 4. **调用栈与中断栈的区别** 5. **C语言中的中断处理** 6. **优化中断处理程序的...
6. **第5章 循环语句**:C语言的循环结构有for、while和do-while,它们用于重复执行一段代码直到满足特定条件。本章会讲解各种循环语句的使用,以及break和continue语句的控制作用。 7. **第15章 预处理与复杂函数...
#### 第五章 信号处理 - **信号简介**: 介绍信号的基本概念和用途。 - **信号发送**: 如何使用`kill()`函数来发送信号。 - **信号捕获**: 使用`signal()`函数来捕获信号,并自定义信号处理函数。 - **异步信号处理**...
glibc是Linux操作系统上广泛使用的C库,包含了C语言编程所需的各种函数。这里的"404865"可能是一个特定的构建ID或者版本标识。 标签"ActivePerl-5.24."是这个发布版本的简写,强调了它是ActivePerl的5.24系列。 ...
资源名称:Linux系统纯C语言开发网络游戏存储引擎 教程内容:[第1节] 1-1-1为公司搭建Linux下的c开发环境[第2节] 1-1-2为公司搭建Linux下的c开发环境[第3节] 2-1-1C语言数据类型[第4节] 2-1-2数据的快速引用[第5节]...
像机器一样思考,像婴儿一样体验! 这个PPT会让你对C语言的理解有一个质的提升,但这还仅仅是一个入门,并不是全部。 01.序言 02.Hello world的回忆 ...12.秘密十:main函数不是第一个执行的函数 (1-4)