- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
传址法的几种情况 1.形式参数和实际参数都是数组名 2.形式参数是指针变量,实际参数是数组名. 3.形式参数和实际参数都是指针变量 4.形式参数是数组名,实际参数是指针变量 5.其他情况 [例7.5]求一个一维数组元素的平均值。 #define M 10 #include stdio.h main( ) { int a[M],i; float Avg(int *); for(i=0;IM;i++) a[i]=i; printf(“均值=%4.2f\n”,Avg(a)); } [例7.8]如果从键盘输入字符串qwerty 和字符串abcd,求下面程序的运行结果。 #includestring.h strle(char *sl,char *s2) { int num=0; while(*(s1+num)!=’\0’) num++; while(*s2) { *(s1+num)=*s2;num++; s2++; } return num; } [例7.7]求一字符串的长度。 #includestdio.h main( ) { static char a[ ]=”I am student!”; char *p; p=a; printf(”字符串长度为:%d\n”,strl(p)); } [例7.9]在系统动态分配的存储空间中存放具有10个字符的字符串。 #define N 10 #includestdlib.h fun(char a[ ],int n) { int i; for(i=0;in-1;i++) scanf(”%c”,a+i); a[i]=’\0’; } [例7.10]将一字符串的内容颠倒输出。 #include string.h main() { fun(”abcde”); } 结构体作为函数参数 [例7.15] #includestdio.h struct st { int a; char b; } ; fun(struct st bc) { bc.a+=5; bc.b=’A’; printf(”被调函数中成员的值是: %d ,%c\n”,bc.a,bc.b); } [例7.16] #includestdio.h struct st { int a; char b; }; [例7.17] #denne N 3 struct st { int num; char name[7]; float score; }; main( ) { int i ; float avg,inpu_avg(); struct st student[N]; avg=inpu_avg(student);/*结构数组名作为函数的实参*/ printf(”学号 姓名 成绩\n”); for(i=0;iN;i++) printf(“%4d%7s%6.1f\n”,student[i].num, student[i].name,student[i].score); printf(”平均成绩:%4.1f\n”,avg); } float inpu_avg(struct st *p) { int i; float temp,avg=0.0; for(i=0;iN;i++) { scanf(“%d%s%f”,(p+i)-num,(p+i)-name,temp); (p+i)- score=temp; avg+=(p+i)- score; } avg=avg/N; return avg; } 实验题第三题 数组名作函数参数的情况 float Avg(int *x) { int i; float avg=0.0; for(i=0;iM;i++,x++) avg+=*x; avg/=M; return avg; } 形参
文档评论(0)