实验6 指针1.实验目的和要求
(1)掌握指针的概念、指针变量定义格式和引用。
(2)掌握指针的运算方法。
(3)掌握数组的指针和指向数组的指针变量。
(4)掌握指针与函数的关系。
(5)能正确使用字符串的指针和指向字符串的指针变量。
(6)了解指向函数的指针。
(7)了解指向指针变量的指针。
2.实验内容:实验指导书中的实验九。
3.实验步骤
9.1 调试程序,找出程序的错误。
改正后的程序代码(贴图):
运行结果(帖图):
9.2 运行程序:
运行结果:;
9.3 修改程序错误,并运行。
改正后程序代码:
运行结果(帖图):
9.4. 程序填空:
运行结果(请帖图):9.5. 程序填空:
程序填空:
#include <stdio.h>
main()
{
int a[5][5]={0},*p[5],i,j;
for(i=0; i<5; i++) p[i]= &a[i][0] ;
for(i=0; i<5; i++)
{ *(p[i]+ i )=1;
*(p[i]+5- (i+1) )=1;
}
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%2d", p[i][j]);
Printf("\n") ;
}
}
运行结果(请帖图):
9.6 编程(选作)
#include<stdio.h>
main()
{
int *p,a[20],i,k,m,n;
p=a;
printf("请输入人数n:");
scanf("%d",&n);
for(i=0;i<n;i++)
*(p+i)=i+1;
i=0;k=0;m=0;
p=a;
while(m<n-1)
{
if(*(p+i)!=0)
k++;
if(k==3)
{*(p+i)=0;k=0;m++;}
i++;
if(i==n)
i=0;
}
while(*p==0)
p++;
printf("\n\n最后留下的是原来的第%d 号的那位\n\n",*p); }
运行结果(请帖图):
97. 运行程序(选作):
运行结果(请帖图):
4、实验心得:
通过指针实验学会了不少东西:
基本掌握了指针的概念、指针变量的定义引用等; 掌握指针的运算方法;
了解和掌握指针与函数的关系;
了解指向指针变量的指针;
能够正确使用字符串指针和指向字符串的指针变量;。