湖北理工学院c语言实验模板6,湖北理工学院c语言实验报告实验六.doc

湖北理工学院c语言实验报告实验六

实验六 指 针实验课程名:高级语言程序设计专业班级: 学号: 姓名: 实验时间: 12.3-12.9 实验地点: K4-202 指导教师: 冯 珊 一、实验目的和要求通过实验进一步掌握指针的概念,会定义和使用指针变量;能正确使用数组的指针和指向数组的指针变量;能正确使用字符串的指针和指向字符串的指针变量;能正确使用指向函数的指针变量;了解指向指针的指针的概念及其使用方法。二、实验内容1.上机验证以下程序的运行结果#include void main(){ int i,j,*pi,*pj; pi=&i;pj=&j;i=5;j=7;printf("\n%d\t%d\t%d\t%d",i,j,pi,pj);printf("\n%d\t%d\t%d\t%d",&i,*&i,&j,*&j);}解答:(1)源代码:#include void main(){ int i,j,*pi,*pj; pi=&i;pj=&j;i=5;j=7;printf("\n%d\t%d\t%d\t%d",i,j,pi,pj);printf("\n%d\t%d\t%d\t%d",&i,*&i,&j,*&j);}(2)运行结果:(3)运行结果分析:用十进制输出i j 的值或地址2.上机验证以下程序的运行结果#include void main(){ int i,a[]={1,2,3},*p; p=a;/*将数组a首地址赋给指针p*/ for (i=0;i<3;i++) printf("%d,%d,%d,%d\n",a[i],p[i],*(p+i),*(a+i));}解答:(1)源代码:#include void main(){ int i,a[]={1,2,3},*p; p=a;/*将数组a首地址赋给指针p*/ for (i=0;i<3;i++) printf("%d,%d,%d,%d\n",a[i],p[i],*(p+i),*(a+i));}(2)运行结果 (3)运行结果分析:用指针和下标不同形式表示输出3.调试下列程序,使之具有如下功能:用指针法输入12个数,然后按每行4个数输出。写出调试过程。#include void main() { int j,a[12],*p=a; for(j=0;j<12;j++) scanf("%d",p++); p=a; for(j=1;j<=12;j++) { printf("%4d",*p++); if(j%4 == 0) printf("\n"); } }??? 解答:(1)源代码:#include void main() { int j,a[12],*p=a; for(j=0;j<12;j++) scanf("%d",p++); p=a; for(j=1;j<=12;j++) { printf("%4d",*p++); if(j%4 == 0) printf("\n"); } } (2)运行结果: (3)运行结果分析:指针法输入12个数,然后按每行4个数输出4. 调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:?? ⑴ 2个数的和,??? ⑵ 2个数交换值。#include void main( ){ int a,b,c,*p=&c; void sum(int ,int ,int *); void swap(int * ,int * ); scanf("%d,%d",&a,&b); sum(a,b,p); swap(&a,&b); printf("sum=%d\n",c); printf("a=%d,b=%d\n",a,b);}void sum(int a,int b,int *c){ *c=a+b; }void swap(int *a,int *b){ int *t; t=a; a=b; b=t;}解答:(1)源代码:#include void main( ){ int a,b,c,*p=&c; void sum(int ,in

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值