湖北理工学院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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值