C语言函数调用的三种方式并分别举一例。

Python017

C语言函数调用的三种方式并分别举一例。,第1张

1、值传递,创建变量x和y,x的值等于a的值,y的值等于b的值

void Exchg1(int x, int y) 

{

int tmp

tmp=x

x=y

y=tmp

printf(“x=%d,y=%d/n”,x,y)

}

void main()

{

int a=4,b=6

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

*py=tmp

print(“*px=%d,*py=%d/n”,*px,*py)

}

main()

{

int a=4

int b=6

Exchg2(&a,&b)

Print(“a=%d,b=%d/n”, a, b)

}

3、引用传递,x和y直接引用a和b,对a和b操作,相当于给a、b起了别名x、y

Exchg2(int &x, int &y)

{

int tmp=x

x=y

y=tmp

print(“x=%d,y=%d/n”,x,y)

}

main()

{

int a=4

int b=6

Exchg2(a,b)

Print(“a=%d,b=%d/n”, a, b)

}

扩展资料:

printf用法:

printf()函数的调用格式为:printf("&lt格式化字符串&gt",&lt参量表&gt)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

比如:

int a=1234;

printf("a=%d\n",a)

输出结果为a=1234。

C语言中,函数调用的一般形式为:

函数名(实际参数表)

对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。

#include<stdio.h>

int fun(int x, int y) // 函数声明,如果函数写在被调用处之前,可以不用声明

void main()

{

int a=1, b=2, c

c = fun(a, b) // 函数的调用,调用自定义函数fun,其中a,b为实际参数,传递给被调用函数的输入值

}

// 自定义函数fun

int fun(int x, int y)  // 函数首部

{  // {}中的语言为函数体

return x>y ? x : y  // 返回x和y中较大的一个数

}

扩展资料

C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。

这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。这与其它语言的子程序嵌套的情形是类似的。其关系可表示如图。

图表示了两层嵌套的情形。其执行过程是:执行main函数中调用a函数的语句时,即转去执行a函数,在a函数中调用b 函数时,又转去执行b函数,b函数执行完毕返回a函数的断点继续执行,a函数执行完毕返回main函数的断点继续执行。

参考资料:函数调用_百度百科