分类：电脑/网络-程序设计-C/C++
问题：谢谢谁可以帮忙完成张C语言的试卷关于指针的!加急!二、填空题(1 
二、填空题 (1)一个专门用来存放另一个变量地址的变量叫           。 (2)设有以下定义和语句，则*(*(p+2)+1)的值为          。int a[3][2]={10，20，30，40，50，60}，(*p)[2];p=a; (3)若有以下定义和语句:int **pp，*p，a=lO，b=20;pp=&p;p=&a;p=&b;printf("%d，%d\n"，*p，**pp);则输出结果是         。 (4)下列程序的输出结果是            。int as二、填空题 (1)一个专门用来存放另一个变量地址的变量叫           。 (2)设有以下定义和语句，则*(*(p+2)+1)的值为          。int a[3][2]={10，20，30，40，50，60}，(*p)[2];p=a; (3)若有以下定义和语句:int **pp，*p，a=lO，b=20;pp=&p;p=&a;p=&b;printf("%d，%d\n"，*p，**pp);则输出结果是         。 (4)下列程序的输出结果是            。int ast(int x，int y，int *cp，int *dp){ *cp=x+y;  *dp=x-y;}main(){int a，b，c，d;a=4;b=3;ast(a，b，&c，&d);printf("%d%d\n"，c，d);} (5)有如下程序段:swap(p1，p2)int *pl，*p2;{int p;p=*p1;*p1=*p2，*p2=p;}main(){int a，b;int *p1，*p2;scanf("%d%d"，&a,&b);pl=&a;p2=&b;if(a<b) swap(p1,p2);printf("\na=%d,b=%d\n"，a，b);}若a=6，b=g，则程序的运行结果为            。 (6)以下程序的输出结果是             。*include <stdio.h>sub(x，y，z)int x，y，*z;{*z=y-x;}main(){int a=1，b=2，c=3;sub(a，b，&a);sub(b,a,&b);sub(a,b,&c);printf("%d，%d，%d\n",a,b,c);} (7)以下程序的输出结果是     。main(){int a[]={2，4，6}，*ptr=&a[0],x=8,y,z;for(y=O;y<3;y++)   z=(*(ptr+y)<x)?*(ptr+y):x;printf("%d\n"，z);} 三、程序题 (1)编写一段程序，在主函数中，从输入3个数，同时编写一个函数，对传递过来的3个数选出最大值和最小值，并通过形参传递回调用函数(主函数)。在主函数中输出这3个数的最大值和最小值。(2)编写一段程序，在主函数中，从键盘输入两个数，同时编写一个函数，对传递过来的两个数求出其和与差，并将计算结果通过形参传递回调用函数(主函数)。在主函数中输出这两个数的和与差。(3)编写一段程序，设置一个排序函数sort，将字符串按照从小到大的顺序进行排序，字符串的输入输出在主函数中进行，要求函数sort有两个形参，一个为指向字符串的指针p_str，另一个为字符串的个数n。    
回答：给你写几个吧，指针是C的精髓，想在软件方面发展好好努力吧，不要工作后才后悔。
1.指针
2.60
3.20，20
4.7，1
5.因该是b=9吧，9，6
6.1，-1，-2
7.6
(1)
  void max_min(int *a,int *b,int *c){
int d;
if(*a>*b){
d=*a;
*a=*b;
*b=d;
}
if(*a>*c){
d=*a;
*a=*c;
*c=d;
}
if(*c>*b){
d=*b;
*b=*c;
*c=d;
}
}
main()

{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
max_min(&a,&b,&c);
printf("%d,%d",a,b);
}