今天学习了函数的调用,本以为可以轻松搞定,其实过程并不轻松,用漏洞百出并不夸张。
问题出在函数的嵌套调用,代码如下
<p><span style="font-size:18px;">int f1(int num){</span></p><p><span style="font-size:18px;">int a ;</span></p><p><span style="font-size:18px;">a = num*num;</span></p><p><span style="font-size:18px;">return f2(a);</span></p><p><span style="font-size:18px;">}</span></p><p><span style="font-size:18px;">int f2(int num){</span></p><p><span style="font-size:18px;">return num+num;</span></p><p><span style="font-size:18px;">}</span></p><p><span style="font-size:18px;">
</span></p><p><span style="font-size:18px;">main(){</span></p><p><span style="font-size:18px;">int a=5;</span></p><p><span style="font-size:18px;">printf("%d",f1(a));</span></p><p><span style="font-size:18px;">}</span></p>
这是模仿相关教程上写的代码,代码编译通不过,错误提示为:previous implicit declaration of ‘f2’ ,函数f2未被申明,就是函数f2必须在f1里申明,或者f2写f1前面。
在此得出经验,无论什么情况下,都对被调函数进行申明,此类错误就不会那么容易出现了。