- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14章 基于指针的学生成绩(一)
main( ) { int num1,num2,tmp; int *p1,*p2; p1=num1,p2=num2; printf(请输入两个整数:\n); scanf(%d,%d,p1,p2); printf(“交换前:num1=%d,num2=%d\n”,*p1,*p2); tmp=*p1; *p1=*p2; *p2=tmp; printf(交换后:num1=%d,num2=%d\n,*p1,*p2); } main( ) { float n1, n2, n3; float average, max; float *avg; avg=average; printf(请输入三个float数据:); scanf(%f%f%f, n1, n2, n3); *avg = ( n1 + n2 + n3 ) / 3 ; if ( n1 n2 ) max = n1; else max = n2; if ( max n3 ) max =n3; printf(max = %f\naverage=%f\n, max, average); } #include stdio.h main( ) { int i = 0; int tmp,score[10]; //tmp用于暂时存放录入的成绩 int *ps; ps=score; printf(请输入学生的成绩(以-1结束输入):\n); do{ printf(第%d个学生:, i+1); scanf(%d,tmp); if(tmp = 0 tmp = 100) //判断成绩是否有效 { *(ps + i) = tmp; //为数组元素score[i]赋值 i++; } } while(tmp != -1 i 10); } main( ) { int i,tmp, a[ ]={17,55,34,68,91,70,65,77}; int *p,*q; p=a,q=a[7]; for(;pq;p++,q--) {tmp=*p; *p=*q; *q=tmp;} for(i=0;i8;i++) printf(%d,,a[i]); } *** 例:指针算术运算 main( ) {int *p1,*p2,*p3; int a [2]={0,1},b[3]={2,3,4}; p3=p1=a;p2=b; printf(“%u\t”,p1); printf(“%d\t”,*p1++); printf(“%u\t”,p1); printf(“%d\t”,*p1); printf(“%d\t”,p1-p3); printf(“%d\t”,*(p2=p2+2)); printf(“%d\t”,*--p2);} 解:指针p1和p3,p2通过p3=p1=a;p2=b;指向数组a,b 编译系统分配数组地址时会连续给a分配2*2=4个内存单元,给b分配3*2=6个内存单元.*p1++由于++是后缀.因此先调用*p1即a[0]元素输出后,再执行p1++,此时 p1指向a数组下一个元素即a[1]; 此时运算p1-p3为1;执行p2=p2+2;p2指向数组b第三个元素,即b[2];*--p2 先执行--p2,p2指向元素b[1], 再执行*p2即为b[1].共输出结果 65494 0 65496 1 1 4 3 ***注意:指针加1并不等于地址加1,当指针指向整型变量时,一个元素占两个字节,指针加1相应地址加2,而只是两个指针之间数据个数,即p1-p3并不是以地址为单位,而是以所指对象的大小为计算单位,本例p1,p2,p3代表地址,输出结果中第1个和第3个值每次运行都可能不同. /*通过指针访问,输出数组元素*/ #include stdio.h #define NUM 5 int main( ) { int a[ ] = {86, 57, 93, 76, 80}; int *p; int i; p = a; for ( i = 0 ; i NUM ; i++) { printf(Element %d is %d\n, i, *(p + i)); } retu
您可能关注的文档
- 第02章 晶体的测量与投影.pptx
- 第02章 MVC编程预备知识.ppt
- 第01讲-第1章_常用低压电器.ppt
- 第02课时 仰角、俯角、方位角.ppt
- 第03章 引导过程.ppt
- 第03章 生物体中重要的代谢中间体-醇、酚、醚、醛、酮、醌.ppt
- 第04章 国际结算方式(二)——托收.ppt
- 第03章酸碱解离平衡(雷艳虹).ppt
- 第02讲第四章:卡尔曼滤波.ppt
- 第04章大气与天象旅游景观鉴赏.ppt
- 眉山蓉光+5+万吨项目+110kV+变电站新建项目环评报告.pdf
- 宜宾市矿山急救医院-新增数字减影血管造影装置(DSA)项目环境影响报告表.pdf
- 浙江金士顿汽车科技有限公司环评报告表.pdf
- 浙江鸿帆电器科技有限公司环评报告.pdf
- 杭州脉波科技有限公司年产心血管医用导管5000根心血管医用设备500台技术改造项目环评报告.pdf
- 湖州美迈科技有限公司超大尺寸超轻铝合金航天结构件研发项目环评报告.pdf
- 湖州酷柏电气有限公司年产30000台智能高低压配电箱(柜)项目环境影响登记表.pdf
- 湖州安达汽车配件股份有限公司新增年产60万套法国Emotors新能源汽车逆变器壳体智能制造设备更新项目环评报告表.pdf
文档评论(0)