资源描述:
《c语言程序设计基础实验报告8》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验8指针一、实验目的1、通过实验进一步掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、能正确使用字符串的指针和指向字符串的指针变量;二、实验内容和步骤1、改错(1)指出下面程序错误的原因.main(){intx=10,y=5,*px,*py;px=py;px=&x;py=&y;printf("*px=%d,*py=%d,*px,*py);}#includevoidmain(){intx=10,y=5,*px,*py;px=&x;py=&
2、y;printf("px=%d,py=%d",*px,*py);}(2)下面的程序试图有如下运行结果:whichstyleyouwantto:Capital(c)oruncapital(a):c↙COMPUTERWhichsytleyouwantto:Capital(c)oruncapital(a):u↙computer请调试下面的程序,使其有如上执行结果.#includemain(){chars*;charc;printf("whichstyleyouwantto:ln");printf("c
3、apital(c)oruncapital(a):");c=getchar();……if(c='c')strcpy(s,"COMPUTER");elsestrcpy(s,"computer");put(s);}#include#include#includevoidmain(){char*s;charc;printf("whichstyleyouwantto:");printf("capital(c)oruncapital(a):")
4、;c=getchar();s=calloc(20,sizeof(char));//分配存储空间if(c=='c')strcpy(s,"COMPUTER");elsestrcpy(s,"computer");puts(s);}(3)下面的程序能获得上述运行结果吗main(){char*S="COMPUTER";charc;printf("whichstyleyouwantto");printf("capital(c)oruncapital(u);");c=getchar();if(c='c')
5、put(s);else{s="computer";puts(s);}}#includevoidmain(){char*s="COMPUTER";charc;printf("whichstyleyouwantto:");printf("capital(c)oruncapital(u);");c=getchar();if(c=='c')puts(s);else{s="computer";puts(s);}}(4)设计一个C程序,用以测试下列各表达式的运算.(1)y=*px++(
6、2)y=*++py(3)y=(*py)++(4)y=--*ppx++(5)想使指针变量pt1指向a和b中的大者,pt2指向小者,以下程序能否实现此目的swap(int*p1,int*p2){int*p;p=p1;p1=p2;p2=p;}main(){inta,b;scanf("%d,%d",&a,&b);pt1=&a;pt2=&b;if(avoidswap(int*p1
7、,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}voidmain(){inta,b,*pt1,*pt2;scanf("%d,%d",&a,&b);pt1=&a;pt2=&b;if(avoidmain(){inta[10],i,max;
8、for(i=0;i<=9;i++)scanf("%d",&a[i]);for(i=0;i<=9;i++)if(maxvoidmain(){inta[10],i,max;for(i=0;i<=9;i++)scanf("%d",a+i);for(i=0;i<=9;i++)if(max<*(a+i))max=*(a+i);printf("MAX=%d",max);}指针法: