利用二级指针排序

#include<stdio.h>
char** paixun(char **p)//返回二级指针
{
    
    
	int temp, i, j;
	for (i = 0; i < 10; i++)
	{
    
    
		for (j = i + 1; j < 11; j++)
		{
    
    
			if (**(p + i) > **(p + j))
			{
    
    
				temp = **(p + i);//交换
				**(p + i) = **(p + j);
				**(p + j) = temp;
			}

		}
	}
	return p;
}
int main()
{
    
    
	char sum[11];
	char **p;//指向指针的指针变量,用于存储指针地址
	char *q[11];//指向含有十一个元素的一维指针数组
	printf("请输入十个数字:\n");
                fgets(str, 11, stdin);//到'\n'自动断结

	for (int i = 0; i < 11; i++)
	{
    
    
		q[i] = &sum[i];//将每个元素地址放入q中
	}
	p = q;
	paixun(p);//调用排序函数
	
	for (int i = 0; i < 11; i++)
		printf("%c\t", *q[i]);//输出数字字符串
	
	return 0;

}

猜你喜欢

转载自blog.csdn.net/qq_52001969/article/details/111410298