函数调用语句
C语言函数调用的三种方式并分别举一例?
C语言函数调用的三种方式并分别举一例?
1、值传递,创建变量x和y,x的值等于a的值,y的值等于b的值
void Exchg1(int x, int y)
{
int tmp
tmpx
xy
ytmp
printf(“x%d,y%d/n”,x,y)
}
void main()
{
int a4,b6
Exchg1 (a,b)
printf(“a%d,b%d/n”,a,b)
}
2、地址传递,相当于建立了px和py两个指向整型的指针,其值分别为a和b的地址
Exchg2(int *px, int *py)
{
int tmp*px
*px*py
*pytmp
print(“*px%d,*py%d/n”,*px,*py)
}
main()
{
int a4
int b6
Exchg2(ampa,ampb)
Print(“a%d,b%d/n”, a, b)
}
3、引用传递,x和y直接引用a和b,对a和b操作,相当于给a、b起了别名x、y
Exchg2(int ampx, int ampy)
{
int tmpx
xy
ytmp
print(“x%d,y%d/n”,x,y)
}
main()
{
int a4
int b6
Exchg2(a,b)
Print(“a%d,b%d/n”, a, b)
}
c语言中调用函数有什么条件?
C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。
这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。这与其它语言的子程序嵌套的情形是类似。
函数体语句是什么?
函数体是函数定义中用一对大括号括住的部分。函数体分为定义序列和语句序列两部分,定义序列在前,语句序列在后。函数体中的语句必须得到调用程序时传给它的参数值(由函数调用中的实际参数,传递给函数定义中函数首部的形式参数)比如:写了函数调用
pow(3.1,4.3)
而函数定义 pow的首部是
double pow(double a, doubleb)
则实际参数3.1被传给了形式参数a;实际参数4.3则被传给了形式参数b;
这样一来pow函数体中的语句序列才可以得到执行了。