题目要求:写一个递归算法来实现字符串的逆序存储,要求不另设存储空间
首先我们定一个一个存放字符串的结构体
typedef struct String { ElemType * data; int length; }String,*PString; //创建字符串的结构体
其中typedef 声明后的String 相当于 struct String,PString 相当于 struct String * 。ElemType是自定义的数据类型 由我们自己来定义
#define MaxSize 10 #define ElemType char
定义好一个字符串的数据结构我们首先对该结构体进行一个初始化的操作,我们需要一开始将长度定为0 代表目前字符串为空;
void Init_String(PString S) { S->data = (ElemType *)malloc(sizeof(ElemType)*MaxSize); //创建一个内存为10的int型数组空间 S->length=0; }
初始化完成之后,我们就需要创建字符串,实现函数如下
其中 char temp = getchar() 这句 是为了避免程序