在 C 语言中,当函数在声明之前调用时,会发生什么事?


如果我们不使用某些函数原型,并且函数体在该函数调用语句之后的某个部分中声明。在这种情况下,编译器认为默认返回类型为整数。但是,如果函数返回其他类型的返回值,它就会返回错误。如果返回类型也是整数,那么它会良好工作,有时这可能会产生一些警告。

示例代码

#include<stdio.h>
main() {
   printf("The returned value: %d
", function); } char function() {    return 'T'; //return T as character }

输出

[Error] conflicting types for 'function'
[Note] previous implicit declaration of 'function' was here

现在,如果返回类型是整数,那么它会工作。

示例代码

#include<stdio.h>
main() {
   printf("The returned value: %d
", function()); } int function() {    return 86; //return an integer value }

输出

The returned value: 86

更新于: 2019-07-30

263 次浏览

开启你的 职业生涯

完成课程,获取认证

开始学习
广告
© . All rights reserved.