在C语言中,如果在声明函数之前调用了函数,则编译器会将函数的返回类型假定为int。
例如,以下程序编译失败。
如果以上代码中的char fun()函数在main()之前定义,则它将编译并完美运行。
例如,以下程序将正常运行。
以下程序可以编译并正常运行,因为函数是在main()之前定义的。
参数呢?编译器不假设参数。因此,当函数应用于某些参数时,编译器将无法对参数类型和参数进行编译时检查。这可能会引起问题。例如,以下程序在GCC中编译良好,并产生了垃圾值作为输出。
有一种误解,认为编译器还假定输入参数也是int。如果编译器假定输入参数为int,则上述程序将无法编译。
这是我们在探究C中声明函数之前调用函数会发生什么的一篇随想经验。其实我们大家在面临很多在学习