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

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。

#include "stdio.h"

float MaxMark(float *p)

{

float max

int i

max=p[0]

for(i=1i<5i++)

{

if (p[i]>max)

max=p[i]

}

return max

}

void main()

{

float max

float marks[3][5]/*定义一个5行3列的数组,记录学生成绩*/

float *p/*定义一个数组的指针*/

int i,j

for(i=0i<5i++)

{

printf("请输入第%d的学生成绩:\n",i+1)

for(j=0j<3j++)

scanf("%f",&marks[j][i])/*每输入一个学生数据,按一下回车,也可根据实际需要改写*/

}

for(i=0i<5i++)

printf("第%d个学生的成绩:%0.2f %0.2f %0.2f\n",i+1,marks[0][i],marks[1][i],marks[2][i])

printf("\n\n")

for(i=0i<3i++)

{

p=marks[i]

max=MaxMark(p)

printf("第%d门成绩的最大值为:%0.2f\n",i+1,max)

}

}

有的符号可能在粘贴时错误,自行改正

呵呵!楼主的程序的写法让人看了蛋疼,先帮你美化美化!

#include <stdio.h>

long f1(int p)

{

int k

long r

long f2(int)

k=p*p

r=f2(k)

return r

}

long f2(int q)

{

long c=1

int i

for(i=1i<=qi++)

c=c*i

return c

}

main()

{

int i

long s=0

for (i=2i<=3i++)

s=s+f1(i)

printf("\ns=%ld\n",s)

}

看一个代码肯定是从main函数看起的。首先main调用了f1,然后f1又调用了f2;

观察f2发现,其实f2(q)就是用来求q的阶乘q!的!所以可进一步观察出f1(p)是用来求(p*p)的阶乘的!

返回到main函数,所以s=4!+9!;

呐,这就是调用函数的过程。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12042713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存