我知道有两种类型的函数:void
和返回值的函数(int、double 等)。但是,如果一个函数声明时没有任何 return 语句怎么办?它是否被认为是一个 void
函数?例如,
myFunction(int value){
.......
}
最佳答案
没有任何返回类型声明的函数被认为返回 int
。这是一条古老的规则,可追溯到原始 K&R C,保留在语言中以实现向后兼容性。
float
参数到 double
的整数提升和转换是针对没有事先定义或前向声明的函数完成的,原因相同 - 向后兼容真正的旧代码。
不用说,依赖这些规则进行新的开发是一种非常糟糕的做法。人们应该始终显式声明返回类型,并在调用它们之前前向声明或定义所有函数。
关于c - 没有任何返回类型的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34914820/