凌阳教育专注嵌入式教育14年,良心教育,有担当,有诚信,值得信赖的教育品牌,欢迎访问官网http://www.sunplusedu.com

函数调用

上一篇 / 下一篇  2016-04-22 16:11:05

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

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


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar
博评网