用指向指针的指针的方法对5个字符串排序并输出

代码如下

#include <stdio.h>
#include<string.h>
void paixu(char **p)
{
	char **q,**s,*t;
	for(q=p;q<p+4;q++)
	{
		for(s=q+1;s<p+5;s++)
		{
			if(strcmp(*q,*s)>0)
			{
			     t=*q;
				*q=*s;
				*s=t;
			}
		}
	}
}
int main()
{
	char *a[5],b[5][99],**p;
	int i;
	for(i=0;i<5;i++)
	a[i]=b[i];
	printf("请依次输入五个字符串:\n");
	for(i=0;i<5;i++)
	scanf("%s",a[i]);
	p=a;
	paixu(p);
	printf("排序后输出为:\n");
	for(i=0;i<5;i++)
		{
			printf("%s\n",a[i]);
		}
}

运行截图

在这里插入图片描述

思考反思

此题复习了指针相关的知识,对于运用指针解决问题也有了个很好的思路,后面应加强指针相关题的深究。

猜你喜欢

转载自blog.csdn.net/qq_42837885/article/details/83593133