凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

函数调用

已有 396 次阅读| 2016-4-22 16:11

使用函数名后跟实参列表就可以实现函数调用。例如:

main

{

       int ;

       y=mul(10,5)

       printf("%d\n",y);

}

当编译器遇到函数调用时,控制权转移到函数mul()。然后逐行运行该函数,遇到return语句时返回一个值。该值赋给y

main()

{

       int y;

       y=mul(10,5);

       ......

}

       int mul(int x,int y)

{

       int p;

       p=x*y;

       return(p);

}

函数调用给被调用函数发送两个整数105.

int mul(int x,int y)

这两个整数分别赋给xy。该函数计算xy的乘积,将结果赋给局部变量p,然后返回值25main函数,再把该值赋给y

调用函数的方法有很多种。下面方法都能调用函数mul

(1)mul(10,5)

(2)mul(m,5)

(3)mul(10,n)

(4)mul(m,n)

(5)mul(m+5,10)

(6)mul(10,mul(m,n))

(7)mul(expression1,expression2)

注意,第6种调用方法以自身的调用作为一个参数。当使用表达式作为函数的实参时,必须将它们计算成一个数值,从而作为实参传递。

返回一个值的函数可以像其他变量一样使用在表达式中。下面语句是合法的:

printf("%d\n",mul(p,q));

y=mul(p,q)/(p+Q);

if(mul(m,n)>total)printf("Large");

但是,函数不能用在赋值语句的左边。例如,下面语句是非法的:

mul(a,b)=15;

没有返回值的函数不能用在表达式中,但可以被调用来完成某些任务。这种函数可以以它们的函数名作为一个单独的语句来调用。

例如:

main()

{

       printline();

}

请注意被调用函数末尾有分号。

函数调用

函数调用时一个后缀表达式。运算符()的优先级非常高。因此,当函数调用作为表达式的一部分时,除非使用括号来改变优先顺序,否则首先计算函数。

在函数调用中,函数名为操作数,而括号集()为运算符,它包含着实参。实参必须与函数的形参在数据类型、顺序和数量上相匹配。多个实参必须用逗号分隔开。

注意:

(1)       如果实参比形参多,那么多余的实参将被丢弃掉。

(2)       相反,如果实参比形参少,那么那些没有实参与之匹配的形参将被初始化为垃圾数据。

(3)       数据类型的任何不匹配都将导致产生垃圾数据。

凌阳教育,全国唯一一家原厂式嵌入式培训机构,专业从事嵌入式人才培训13年,最近新开课程信息安全工程师培训,想了解更多嵌入式资料下载或者是凌阳教育的动态,请访问凌阳教育官网www.sunplusedu.com


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-19 17:49 , Processed in 0.019437 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部