Tag: function prototypes

为什么没有参数的函数(与实际函数定义相比)编译?

我刚刚遇到某人的C代码,我很困惑,为什么它正在编译。 有两点我不明白。 首先,与实际的函数定义相比,函数原型没有参数。 其次,函数定义中的参数没有types。 #include <stdio.h> int func(); int func(param) { return param; } int main() { int bla = func(10); printf("%d", bla); } 为什么这个工作? 我已经testing了几个编译器,它工作正常。