A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhudong100 中级黑马   /  2015-10-10 11:40  /  1828 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

需求:利用函数相互调用,实现求三个整数的平均值;
  1. int main(int argc, char* argv[])
  2. {
  3.         float avg(int x, int y,int z);
  4.         float result = avg(200,235,500);
  5.         printf("result = %.2f\n",result);
  6. }
  7. //求三个整数的平均值
  8. float avg(int x, int y,int z)
  9. {
  10.     int sum(int x,int y,int z);
  11.         return sum(x,y,z)/3.0f;
  12. }
  13. //求三个整数的和
  14. int sum(int x,int y,int z)
  15. {
  16.         return x+y+z;
  17. }
复制代码

总结:主调函数使用被调函数时,需要对被调函数进行声明;被调函数与主调函数是相对的:main函数是argv的主函数,argv是sum的主函数。

6 个回复

倒序浏览
支持一下
回复 使用道具 举报
那被调函数在主调函数之后的时候,调用被调函数时,是不是要在主调函数声明一下
回复 使用道具 举报
{:3_46:}同学,继续加油,4各月后就是人生赢家了
回复 使用道具 举报
gaozp 发表于 2015-10-10 17:29
那被调函数在主调函数之后的时候,调用被调函数时,是不是要在主调函数声明一下 ...

在Visual C++平台上尝试,需要声明;但是好像Xcode中,在返回值是int类型的函数中,位置位于主调函数后的被调函数也可以省略声明。
回复 使用道具 举报
wwf707542865 发表于 2015-10-10 22:47
同学,继续加油,4各月后就是人生赢家了

谢谢,加油!
回复 使用道具 举报
stanfor 初级黑马 2015-10-15 13:57:55
7#
本帖最后由 stanfor 于 2015-10-15 14:01 编辑
gaozp 发表于 2015-10-10 17:29
那被调函数在主调函数之后的时候,调用被调函数时,是不是要在主调函数声明一下 ...

是的,被调函数在主调函数之后,在主调函数的代码块中要对被调函数进行声明;
如果被调函数在主调函数前面,则主调函数在调用时可以不声明;
也可以在主调函数之前对被调函数进行全局声明;
除开这些,如果被调函数的返回值类型是int 类型,也可以把声明省略。
在多层嵌套调用函数时,如果要在主调函数中作被调函数声明,只需在相应主调函数中作被该主调函数调的函数的声明
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马