函数调用时怎么一回事情
展开全部
在程序中是通过对函数的调用来执行函数体的,其过程与其它语言的子程序调用相似。
C语言中,函数调用的一般形式为:
函数名(实际参数表) 对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
在C语言中,可以用以下几种方式调用函数:
1. 函数表达式:
函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。
2. 函数语句:
函数调用的一般形式加上分号即构成函数语句。例如: printf ("%d",a);scanf ("%d",&b);都是以函数语句的方式调用函数。
3. 函数实参:
函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y)); 即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同。介绍printf 函数时已提到过,这里从函数调用的角度再强调一下。
C语言中,函数调用的一般形式为:
函数名(实际参数表) 对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
在C语言中,可以用以下几种方式调用函数:
1. 函数表达式:
函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。
2. 函数语句:
函数调用的一般形式加上分号即构成函数语句。例如: printf ("%d",a);scanf ("%d",&b);都是以函数语句的方式调用函数。
3. 函数实参:
函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y)); 即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同。介绍printf 函数时已提到过,这里从函数调用的角度再强调一下。
展开全部
打个比方 一个函数 就像一个机器 函数参数设的就像是 加工物品的规格 然后 经过函数后就会生成相应地物品 在函数调用时 需要加声明 就像是在用之前 把工具从箱子里拿出来一样 等着待会用但可以不用 用之前一般需声明 (除了你调用的函数在主函数前)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额,就是有一个函数,不是 直接写在主程序中,而是拿过来用;
比如C里:
void f()
{.....}
int main()
{
f();
return 0;
}
比如C里:
void f()
{.....}
int main()
{
f();
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是自己调用自己,递归函数一般都有出口,一遍一遍反复调用自己直至出口条件成立.
这个不太好解释,你以后在数据结构这门课中会学到栈,递归函数的实现其实用的就是栈的特性.
这个不太好解释,你以后在数据结构这门课中会学到栈,递归函数的实现其实用的就是栈的特性.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询