当前位置: 首页 > news >正文

C语言的函数调用,允许参数缺省和乱序

正常调用:

// func.c
#include <stdio.h>int func(int i1, int i2, double d1, int i3, double d2, int i4) {printf("i1 = %d, i2 = %d, d1 = %lf, i3 = %d, d2 = %lf, i4 = %d\n", i1, i2, d1, i3, d2, i4);return 0;
}
// test.c
extern int func(int i1, int i2, double d1, int i3, double d2, int i4);int main() {func(1, 2, 10.1, 3, 20.1, 4);return 0;
}
gcc test.c func.c 
./a.out 
i1 = 1, i2 = 2, d1 = 10.100000, i3 = 3, d2 = 20.100000, i4 = 4

参数缺省调用:

// test.c
// extern int func(int i1, int i2, double d1, int i3, double d2, int i4);
extern int func(int i1, int i2);int main() {// func(1, 2, 10.1, 3, 20.1, 4);func(1, 2);return 0;
}
gcc test.c func.c 
./a.out 
i1 = 1, i2 = 2, d1 = 0.000000, i3 = 1382715160, d2 = 0.000000, i4 = -2065489456

参数乱序调用:

// test.c
// extern int func(int i1, int i2, double d1, int i3, double d2, int i4);
// extern int func(int i1, int i2);
extern int func(int i1, double d1, double d2, int i2);int main() {// func(1, 2, 10.1, 3, 20.1, 4);// func(1, 2);func(1, 10.1, 10.2, 2);return 0;
}
gcc test.c func.c 
./a.out 
i1 = 1, i2 = 2, d1 = 10.100000, i3 = 737168744, d2 = 10.200000, i4 = 1373962720

相关文章:

  • python----下载安装,配置环境
  • mkdir: cannot create directory ‘gitlab-stu’: No space left on device
  • Python基于Django的高校社团学生会管理系统【附源码、文档说明】
  • 【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack实战 (下)
  • 前端工程化 Source Map(源码映射)详解
  • React 微应用接入:qiankun 深度集成实战
  • 音视频中的复用器
  • mac笔记本如何快捷键截图后自动复制到粘贴板
  • 从零开始的数据结构教程(六) 贪心算法
  • 【HTML/CSS面经】
  • 华为OD机试真题——简单的自动曝光平均像素(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • OCC笔记:面、边的方向(TopAbs_Orientation)
  • Spring Security架构中过滤器的实现
  • 前端ul-image的src接收base64快捷写法
  • 关于 smali:2. 从 Java 到 Smali 的映射
  • 测试策略:AI模型接口的单元测试与稳定性测试
  • Practice 2025.5.29 —— 二叉树进阶面试题(1)
  • NW907NW918美光固态闪存NW920NW930
  • Docker安装
  • Python+VR:如何让虚拟世界更懂你?——用户行为分析的实践
  • 正规的佛山网站建设价格/自己建网站怎么弄
  • 贵阳网站建设是什么意思/seo推广怎么收费
  • 做卷子的网站/互联网推广运营
  • 微信小程序定制开发需要多少钱/台州关键词优化服务
  • 如何开网站做代销/世界十大网站排名出炉
  • 网站建设预算/郑州网站排名优化公司