内容发布更新时间 : 2024/12/23 6:17:20星期一 下面是文章的全部内容请认真阅读。
《C语言程序设计》实验报告
实验序号:7 实验项目:指针 学 号 实验地点 315 姓 名 指导教师 陈 林仙丽 专业、班级 实验时间 网络工程 2013年1月8日 一、实验目的及要求 1、通过实验掌握指针的定义和使用指针变量; 2、掌握使用指针对数组和字符串进行操作; 3、掌握函数中指针类型参数的使用; 4、要求采用指针方法完成。 二、实验设备(环境)及要求 使用Visual C++ 6.0;windows系列操作系统的环境。 三、实验内容与步骤 1.输入运行下面这个程序,观察并分析结果: #include \void main() { int a[]={2,3,4,5,6}; int *p1; p1=a; printf(\ printf(\ p1=a+2; printf(\ printf(\ char *p2=\ printf(p2+2); printf(\ } 运行结果截图: P1+2是输出a[2]的地址,*(P1+2)是输出a[2]的值 定义了p1=a+2,所以现在的P1+2是输出a[4]的地址,*(P1+2)是输出a[4]的值 P2+2是输出从第三个字符开始的字符串。 2.以下程序调用invert 函数按逆序重新放置a 数组中的值,a 数组中的值在main 函数中读入,请填空。 #include \void invert(int *s,int i,int j) { int t; if(i #include void main() { int a[]={2,3,4,5,6}; int *p1; char *p2=\ p1=a; printf(\ printf(\ p1=a+2; printf(\ printf(\ printf(p2+2); printf(\ } 2. #include void invert(int *s,int i,int j) { int t; if(i t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; 成绩 invert(s,i+1,j-1); } } void main( ) { int a[10],i; for(i=0;i<10;i++) scanf(\ invert(a,0,10-1); for(i=0;i<10;i++) printf(\printf(\} 3. void main( ) { char a[80],b[80],*p; int i; gets(a); gets(b); for(i=0;i<10;i++) { if(i%2==0) puts(a); else { p=b; puts(p); } } } 4. #include int a[10]={3,7,9,8,5,4,3,1,0,2}; int *p,i,j; p=a; for(i=0;i<10;i++) printf(\ printf(\ for(j=9;j>=0;j--) printf(\} 5. #include