C语言程序设计第8章--函数和变量的存储类型.ppt

C语言程序设计第8章--函数和变量的存储类型.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在函数调用时,首先由实参向形参赋值,这时形参和实参的值是相同的,即实参和形参指向了相同的地址单元,所以在函数调用过程中,改变形参(地址值)所指示的单元的内容,也就相当于改变了实参所指示单元的内容,这正是地址传递方式的特点。 #include stdio.h void func(int *x,int *y) { *x=100; *y=200; printf(func:*x=%d,*y=%d\n,*x,*y); } void main() { int a=10,b=20; printf(main1:a=%d,b=%d\n,a,b); func(a,b); printf(main2:a=%d,b=%d\n,a,b); } 【例】 分析函数调用时,参数的传递过程。 程序的运行结果为: main1:a=10,b=20 func:*x=100,*y=200 main2:a=100,b=200 void main() { int x=3,y=5; printf( (1)实参:x=%d,y=%d\n,x,y); swap(x,y); printf(“ (4)实参:x=%d,y=%d\n”,x,y); } swap(int a,int b) { int c; printf( (2)形参:a=%d,b=%d\n,a,b); c=a;a=b;b=c; printf( (3)形参:a=%d,b=%d\n,a,b); } 【例】 阅读下面程序,判断程序能否交换主函数中x和y的值。 程序运行的结果为: (1) 实参:x=3,y=5 (2) 形参:a=3,b=5 (3) 形参:a=5,b=3 (4) 实参:x=3,y=5 #include stdio.h swap(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; } void main() { int a=5,b=9; int *pa=a,*pb=b; swap(pa,pb); printf(\na=%d,b=%d,a,b); } 【例】 编写函数真正交换两个变量的值,然后输出。 程序运行的结果为: a=9,b=5 8.4 函数的嵌套调用和递归调用 8.4.1 函数的嵌套调用 嵌套调用,就是在调用一个函数的过程中,被调用的函数又调用其他函数。 * * main() { … … a(); } a 函数 { b(); … return; } b函数 { … … return; } ① ③ ④ ⑤ ⑥ ⑦ ② f1(int a,int b) /* 定义f1函数 */ { int c; a+=a; b+=b; c=f2(a,b); /* 调用f2函数*/ return (c*c); } f2(int a,int b) { int c; c= a*b%3; return (c); } void main() { int x=11,y=19; printf(The final result is:%d\n, f1(x,y)); } 【例】 分析下面的程序。 【例】 求两个整数的最小公倍数。 程序运行的结果为: please enter x y: 69 84↙ the minimum common multiple: 1932 int divisor(int x, int y) /* 求整数x、y的最大公约数 */ { int r; if (xy) { r=x; x=y; y=r; } r=x%y; while(r!=0) { x=y; y=r; r=x%y;} return(y); } int multiple(int x, int y) /* 求整数x、y的最小公倍数 */ { int r; r=x*y/divisor(x,y); return(r); } void main() {

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档