函数的原型必须写吗?如果不屑原型,直接把函数的定义放到main之前,编译可以通过,为什么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 05:43:21
函数的原型必须写吗?如果不屑原型,直接把函数的定义放到main之前,编译可以通过,为什么?
xT[n@݊02@Z~4BL4 5ؤTsg]4WUc{ TBqܙ/œ}hvOaqm% 2ko=^_ޝQτZnMyl }PקAi^+,\$?GVh3a>?TE !A%_p)@ed9x{]IJ/v,±dlZ񗩪uw)B4Yƞ`D1*;{Y["A`$65Gx-;ga .T=Q5  \X斃EѾ'LKCx}bFwF?ٰx(Ft%r4SDRh A\1ۑejgLH>_GT/v{lXrq  J~N77A>_ iG3( jUfOba&6ap5Ѣ(1tJRXc {6<%0^{6IlY*< _VVcC]W},hg/^a

函数的原型必须写吗?如果不屑原型,直接把函数的定义放到main之前,编译可以通过,为什么?
函数的原型必须写吗?
如果不屑原型,直接把函数的定义放到main之前,编译可以通过,为什么?

函数的原型必须写吗?如果不屑原型,直接把函数的定义放到main之前,编译可以通过,为什么?
说的形象拟人点. 如果没写原型, 编译器在main里读到调用这个函数了,但因为你函数写在main的后面. 所以此时编译器表示压根没听说过这个函数.所以编译器说错啦.没这个函数.
如果在前面写了原型.编译器知道你声明了这个函数,编译器知道他一定在你代码的某个位置,只是现在还没读到.所以当调用这个函数的时候编译器就慢慢继续读啊读,读到后面就找到你函数的定义了……
你也可以把函数放在main前面,编译器一开始就读到函数定义了,当然知道你有这么个函数了
但假设a函数里用了b,b函数里用了a.main里调用了a和b ,你即使把ab放main前面也没用.因为假设你a放在b前面,到了a,发现要调用b,错了…… 换个顺序,也是错.
所以最好还是先声明两个函数在前面,让编译器自己下去找