From 55af098154a2f69e4bdeb22834d87f4ddb2a685d Mon Sep 17 00:00:00 2001 From: Kim Yang Date: Thu, 13 Aug 2020 04:46:36 +0800 Subject: [PATCH] :package: update SString --- DataStructure/DS_3_String/DS_3_0_SString.cpp | 23 ++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/DataStructure/DS_3_String/DS_3_0_SString.cpp b/DataStructure/DS_3_String/DS_3_0_SString.cpp index 4e09bad..77161d6 100644 --- a/DataStructure/DS_3_String/DS_3_0_SString.cpp +++ b/DataStructure/DS_3_String/DS_3_0_SString.cpp @@ -6,7 +6,7 @@ #include #include -#define MAXLEN 255 //预定义最大串长为255 +#define MAXLEN 15 //预定义最大串长为15 typedef struct { char ch[MAXLEN];//每个分量存储一个字符 @@ -14,17 +14,17 @@ typedef struct { } SString; //初始化 -bool InitStr(SString &S) { +void InitStr(SString &S) { S.ch[1] = ' '; S.length = 0; } //赋值操作 -bool StrAssign(SString &T, char str[]) { +bool StrAssign(SString &T, char *str[]) { if (str[0] == NULL)return false;//传入空数组就失败 int strLength = sizeof(str) / sizeof(str[0]); for (int i = 0; i < strLength; ++i) { - T.ch[i + 1] == str[i];//空置T的第一个元素位置 + T.ch[i + 1] = *str[i];//空置T的第一个元素位置 } T.length = strLength; return true; @@ -211,9 +211,24 @@ void Get_BetterNext(SString T, int betterNext[]) { } } +void PrintStr(SString S){ + for (int i = 1; i <=S.length ; ++i) { + printf("%s",S.ch[i]); + } +} + void TestStr() { printf("开始测试!\n"); + SString S,T; + InitStr(S); + char *str1[10]={"k","i","m"}; + printf("%s\n",str1[0]); + if (StrAssign(S,str1)){ + printf("赋值操作成功啦!\n"); + } +// PrintStr(S); + printf("测试结束!\n"); }