//用指针数组完成:将若干字符串安字母顺序输出
#include <stdio.h>
#include <string.h>
void print(char * name[],int n)   //char * name[],指针数组,每个数组元素是一个char*(即字符串)类型
{
	int i;
	for(i=0;i<n;i++)
	{
		printf("%s\n",name[i]);
	}
}
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!=i)
			{
				temp=name[i];
				name[i]=name[k];
				name[k]=temp;
			}
		}
	}
}
int main()
{
	char * name[]={"fallow me","BASIC","Great Wall","FOR","Computer"};
	int n=5;
	sort(name,n);    //对字符串排序
	print(name,n);   //输出字符串
	return 0;
}
原文:http://blog.csdn.net/doudouwa1234/article/details/45000949