C语言-使用指向指针的指针的方法对5个字符串排序并输出

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

注意:

在C语言中,二维字符数组的数组名实际上不是指向二级指针的,而是隐含地形成了一种特殊的"间接引用"或者说"偏移地址"。当你声明一个二维字符数组如char arr[3][4]时,虽然它的名字arr本身并不是直接指向另一个指针,但实际上它代表了数组首元素在内存中的起始地址。

具体程序:

c 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
	char str[5][30];
	char* pstr[5];
	int i;
	for (i = 0; i < 5; i++)
	{
		pstr[i] = str[i];
		scanf("%s", *(pstr + i));
	}
	void sort(char** pstr);
	printf("------------\n");
	sort(pstr);
	for (i = 0; i < 5; i++)
	{
		printf("%s\n", *(pstr + i));
	}
	return 0;
}
void sort(char** pstr)
{
	int i, j;
	for (i = 0; i < 4; i++)
	{
		for (j = 0; j < 4 - i; j++)
		{
			if (strcmp(*(pstr + j), *(pstr + j + 1)) > 0)
			{
				char* temp = *(pstr + j);
				*(pstr + j) = *(pstr + j + 1);
				*(pstr + j + 1) = temp;
				/*char temp[30];
				strcpy(temp, *(pstr + j));
				strcpy(*(pstr + j), *(pstr + j + 1));
				strcpy(*(pstr + j + 1), temp);*/
			}
		}
	}
	
}

运行结果:

相关推荐
cpp_learners21 分钟前
银河麒麟V10+飞腾FT-2000/4处理器+QT源码静态编译5.14.2指南
开发语言·qt
野生技术架构师29 分钟前
1000道互联网大厂Java岗面试原题解析(八股原理+场景题)
java·开发语言·面试
qqty12171 小时前
Java进阶学习之路
java·开发语言·学习
WHS-_-20221 小时前
Python 算法题学习笔记一
python·学习·算法
沉鱼.441 小时前
第六届题目
算法
gCode Teacher 格码致知1 小时前
Javascript提高:get和post等请求,对于汉字和空格信息进行编码的原则-由Deepseek产生
开发语言·前端·javascript·node.js·jquery
黑眼圈子1 小时前
总结一下用Java做算法的常用类和方法
java·开发语言·算法
apcipot_rain1 小时前
天梯赛练习集 时间规划 限时复盘 中档题详解(L1-6~L2-4)
算法
码界筑梦坊1 小时前
353-基于Python的大湾区气候数据可视化分析系统
开发语言·python·信息可视化·数据分析·django·vue·毕业设计
再卷也是菜2 小时前
第一章、线性代数(2)高斯消元法
线性代数·算法