厦门理工学院 C语言报告实验7_指针 下载本文

内容发布更新时间 : 2024/5/4 4:01:06星期一 下面是文章的全部内容请认真阅读。

《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(is2,则输出正值,如果s1

#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 void main() {

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