实验10 指针作为函数的参数
一、实验目的
1、学会使用指针变量作为函数的参数。
2、学会使用数组作为函数的参数。
3、正确理解和掌握指针与数组的关系。
二、实验知识点
1、指针变量的定义。
注意:指针变量和一般简单变量的区别。
2、简单变量作为函数的参数是一种值传递方式。
3、指针作为函数参数是一种地址传递方式。
4、数组作为函数的参数也是一种地址传递方式。
三、实验内容和步骤
1、分析下面程序的运行结果,并调试程序。
//指针作为函数的参数
#include<iostream.h>
int fun(char *s);
void main()
{
cout<<fun("123456789")<<endl;
}
int fun (char *s) //函数定fun义
{char *t=s;
while(*t!='\0')
t++;
return (t-s);
}
思考:能否将程序改为输入任意个字符,然后输出其长度。
2、分析下面程序段的运行结果,并调试程序。
# include<iostream.h>
#include<string.h>
fun(char *s); //函数fun声明
void main()
{char a[]=”abcdefgh”;
fun(a);
cout<<a<<endl;
}
fun(char *s) //函数fun定义
{int x=0,y;
char c;
for(y=strlen(s)-1;x<y;x++,y--)
{c=s[x];
s[x]=s[y];
s[y]=c;
}
}
3、分析下面程序段的运行结果,并调试程序//数组作为函数的参数
#include<iostream.h>
#include<iomanip.h>
void f(int b[]) //函数f的定义
{int i=0;
while(b[i]<=10)
{ b[i]+=2;
i++;
}
}
void main() //主函数
{int i,a[]={1,5,10,9,13,7};
f(a+1);
for(i=0;i<6;i++)
cout<<setw(3)<<a[i];
cout<<endl;
}
4、定义一个函数change实现两个整数的交换(要求使用指针变量作为函数的参数)。
键盘输入三个数,按照从小到大的顺序排序后输出。
5、定义一个函数maxfun求一维整型数组中的最大数。
键盘输入10个整数,调用函数求最大数,然后输出其中的最大数。
6、定义一个函数sort,对一个一维整型数组从小到大排序。
随机产生20个二位整数,排序后再输出。
三、实验步骤:
略
四、实验总结。