1.swap(int *p1,int *p2)
{ int *p;
 p=p1;
 p1=p2;
 p2=p;  不行;不能企图通过改变形参指针变量的值来改变实参,而要通过改变实参变量指针指向的值;
 }
 main()
 { int a,b;
 int *pointer1,*pointer2;
 scanf("%d,%d",&a,&b);
 pointer1=&a;
 pointer2=&b;
 if(a<b) swap(pointer1,pointer2);
 printf("\n%d,%d\n",*pointer1,*pointer2);
 }
2.#include<string.h>
main()
{
 void sort(char *name[],int n);
 void print(char *name[],int n);
 char *name[]={"follow me","basic","great wall","format","computer designe"};
 int n=5;
 sort(name,n);
 print(name,n);
 }
void sort(char *name[],int n)
{ char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
 if(strcmp(name[k],name[j])>0)k=j;
 if(k!=j)
  { temp=name[i];name[i]=name[k];name[k]=temp;}
}
}
void print(char *name[], int n )
{int i;
for(i=0;i<n;i++)
 printf("%s\n",name[i]);
 }
第一个不行,为什么第二个行呀?两者实质感觉一样啊!只是前者只有一个数字,而后者是一个数组形式,
只是存储单元大小不一呀

											
	    
											


