函数
来源:互联网 发布:淘宝上生产许可证编号 编辑:程序博客网 时间:2024/05/14 02:09
一程序中的顺序点
顺序点:执行过程中修改变量值的最晚时刻,在程序达到顺序点的时候,之前所做的一切操作必须反映到后续的访问中。
每个完整表达式结束时
&&, ||, ?:, 以及逗号表达式的每个运算对象计算之后
函数调用中对所有实际参数的求值完成之后(进入函数体之前)
&&, ||, ?:, 以及逗号表达式的每个运算对象计算之后
函数调用中对所有实际参数的求值完成之后(进入函数体之前)
#include <stdio.h>int main(){ int k = 2; int a = 1; k = k++ + k++; printf("k = %d\n", k); if( a-- && a ) { printf("a = %d\n", a); } return 0;}
&&到达顺序点此时a为0,故不会打印
二 可变参数
C语言中可以定义参数可变的函数,依赖于stdarg.h头文件va_list变量与va_start, va_end和va_arg
#include <stdio.h>#include <stdarg.h>float average(int n, ...){ va_list args;//定义变量,该变量是指向参数的指针 int i = 0; float sum = 0; va_start(args, n);//利用宏初始化args for(i=0; i<n; i++) { sum += va_arg(args, int);//va_arg返回可变参数,类型为int
} va_end(args); return sum / n;}int main(){ printf("%f\n", average(5, 1, 2, 3, 4, 5)); printf("%f\n", average(4, 1, 2, 3, 4)); return 0;}
注意:可变参数必须从头到尾按照顺序逐个访问
参数列表中至少要存在一个确定的命名参数
可变参数宏无法判断实际存在的参数的数量
可变参数宏无法判断参数的实际类型
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- Commons-net FTPClient上传下载的封装
- shell判断输入的参数是不是数字
- powerdesigner设置唯一键,但不是主键的方式
- 1000!的阶乘--还没看懂
- (转载)Oracle创建用户并给用户授权查询指定表或视图的权限
- 函数
- ETL介绍
- SQLServer根据表名获取主键名(经验证)
- ASP.NET网页打印
- makefile 常用函数
- sql server2008生成表结构sql脚本 和生成数据sql脚本
- 图的广度搜索完整实现(邻接表,队列,BFS)
- Memcached windows 下安装与测试
- hdu 2524