关于函数声明和调用时参数类型不一致的情况
来源:互联网 发布:js 删除数组元素 编辑:程序博客网 时间:2024/05/23 16:40
还是上一篇所讲的因为老式风格的C函数声明可以不指定参数个数和类型,这样编译器不会对函数调用做检查。
请看下面这个例子:
#include <stdio.h>int main(void){void foo();//void foo(double);char c = 60;foo(c);return 0;}void foo(double d){printf("%f\n", d);}会发现程序运行结果为0.000000
调试运行会发现:
1.由于foo函数声明为void foo(void)所以实参c根本没有传递进去;
2.局部变量d为随机值,我的机器上是2.5463949521227207e-313,此数已超过double所表示的范围所以打印出来0.000000
如果将声明语句换成注释掉的那句,会发现程序运行结果为60.000000
声明和实现一致,参数能传递,虽然调用时传进的是一个char值,但运行时会强制类型转换为double类型的。
- 关于函数声明和调用时参数类型不一致的情况
- 关于函数声明和调用时参数个数不一致的情况
- 关于C函数声明与定义返回类型不一致的解释
- 调用动态库时声明的参数个数不一致导致的问题
- Swift函数(函数声明、函数参数和类型)
- 关于构造函数和析构函数调用时的多种情况
- C++关于函数声明和定义中参数赋值为0调用问题演示
- 函数调用时参数传入的几种情况
- 在无函数声明的情况下运行时动态调用DLL函数
- C++关于参数为const引用类型的函数调用参数成员函数的一个问题
- 关于函数的声明与调用
- C语言:函数声明与定义的参数不一致问题,后果可能很严重哦!!!!!
- 函数声明和调用
- Swift 系统学习 11 函数 函数的声明 和调用 下划线 调用的时候 忽略参数名
- C-015.函数的基本概念、定义、调用、返回值、参数和声明
- 关于“类型,参数,变量”的声明中,其编程风格
- DLL导出函数的声明和调用
- DLL导出函数的声明和调用
- Linux驱动中的platform
- asp.net 上传文件 未能找到路径的一部分
- vc 热键、组合键的用法 MFC c++ hotkey WM_HOTKEY
- 在存储过程中使用读取序列
- Java 回调函数
- 关于函数声明和调用时参数类型不一致的情况
- 字节、字、bit、byte的关系
- loadrunner 11下载及破解
- Spring框架简介
- 获取Android的APK包签名信息
- delete出错原因
- sizeof运算符和size_t类型比较
- 密码风云
- C++内存分区说明