From a2ebbae000aab697bda7c6f4a67374e35c7caa99 Mon Sep 17 00:00:00 2001 From: ViolentAyang <76544389+ViolentAyang@users.noreply.github.com> Date: Fri, 1 Apr 2022 16:36:39 +0800 Subject: [PATCH] =?UTF-8?q?Create=20=E5=AD=97=E7=AC=A6=E4=B8=B2=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E6=93=8D=E4=BD=9C.c?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 字符串基本操作.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 字符串基本操作.c diff --git a/字符串基本操作.c b/字符串基本操作.c new file mode 100644 index 0000000..853fe29 --- /dev/null +++ b/字符串基本操作.c @@ -0,0 +1,79 @@ +#include +#include +#include +#define MAXLEN 255 + +typedef struct{ + char ch[MAXLEN]; + int length; +}SString; + +//求子串 用Sub返回串S的第pos个字符起长度为len的子串 +bool SubString(SString *Sub,SString S,int pos,int len){ + if(pos+len-1>S.length){ + return false; + } + for(int i=pos;ich[i-pos+1] = S.ch[i]; + } + Sub->length = len; + return true; +} +//比较操作 若S>T,则返回值>0;若S=T,则返回值=0;若Sch[i] = x; + i ++; + scanf("%c",&x); + } + S->length = i-1; +} +//打印字符串 +void printString(SString S){ + for(int i=1;i<=S.length;i++){ + printf("%c",S.ch[i]); + } + printf("\n"); +} +int main(){ + SString S,T; + assign(&S); + assign(&T); + printf("求子串操作:\n"); + SString Sub; + SubString(&Sub,S,2,3); + printString(Sub); + printf("比较操作:\n"); + printf("S串和T串是否相等:%d\n",StrCompare(S,T)); + printf("定位操作:\n"); + printf("出现位置:%d",Index(S,T)); + return 0; +}