金陵科技学院实验报告
}
void fun(int tt[M][N],int pp[N]) { }
int i ,j; for(j=0;j pp[j]=tt[0][j]; for(i=1;i if(tt[i][j] pp[j]=tt[i][j]; printf(\原始数据为:\\n\ for(i=0;i for(j=0;j printf(\ printf(\ } printf(\ fun(t,p); printf(\结果为:\\n\ for(k=0;k printf(\ printf(\ 19 金陵科技学院实验报告 心得体会: 20 金陵科技学院实验报告 实验项目名称: 高级程序设计 实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间: 21 金陵科技学院实验报告 实验3 高级程序设计 一、实验目的和要求 (1)理解C语言中指针的本质,区分指针与指针变量,掌握有关指针的应用; (2)熟练掌握字符串常量和字符串的存储及字符串处理函数的使用; (3)掌握字符指针的定义、使用等; (4)掌握向函数传递字符串的方法; 二、实验仪器和设备 奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。 三、实验内容与过程 1、程序调试 (1) main() { int a=10,b=20,x,*pa,*pb; pa=&a;pb=&b; printf(“%d,%d,%d,%d”,a,b,*pa,*pb); x=*pa;*pa=*pb;*pb=x; printf(“%d,%d,%d,%d”,a,b,*pa,*pb); } (2) main() { int a=10,b=20,*p,*pa=&a,*pb=&b; printf(“%d,%d,%d,%d”,a,b,*pa,*pb); p=pa;pa=pb;pb=p; printf(“%d,%d,%d,%d”,a,b,*pa,*pb); } (3) int *swap(int *a,int *b) { int *p; p=a; a=b; b=p; return(a); } main() {int x=3,y=4,z=5; swap(swap(&x,&y),&z); printf(“%d,%d,%d”,x,y,z); } 思考:上面程序中函数swap()预将两个数的值相互交换,但结果为什么没有交换? 2、程序改错 22 金陵科技学院实验报告 要求:1、改错时,只允许修改现有语句中的一部分内容,不允许添加和删除语句。 2、提示行下一行为错误行。 (1)功能:为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。 #include void input(int *arr,int n) { int *p,i; p=arr; printf(\ for(i=0;i /**********ERROR**********/ scanf(\} void max_min(int *arr,int n) { int *min,*max,*p,t; min=max=arr; for(p=arr+1;p /**********ERROR**********/ if(*p<*max) max=p; else if(*p<*min) min=p; t=*arr;*arr=*min;*min=t; /**********ERROR**********/ if(max=arr) max=min; t=*(arr+n-1); *(arr+n-1)=*max; *max=t; } void output(int *arr,int n) { int *p,i; p=arr; printf(\ /**********ERROR**********/ while(i=0;i main() { int a[10]; input(a,10); 23