模擬實現字串查詢函式strstr

2021-08-15 11:39:43 字數 793 閱讀 3178

題目:不使用庫函式,模擬實現字串查詢函式strstr的功能。

例如:在字串dest:「abcdefg」中查詢字串src:「bcd」是否存在,如存在返回「bcd」在「abcdefg」中的起始位置,即「bcdefg」,

若不存在,則返回null。

分析:

1. 首先定義乙個慢指標slow遍歷dest字串,初始指向dest開頭,用於記錄src在dest中的位置;

2. 再定義乙個快指標fast,使之等於slow,定義乙個指標p指向src開頭;

3. 將fast所指內容和p所指內容對比,如果相等,則兩指標均往後移。

若p指標在遍歷完src字串之前兩者內容均相同,則說明src在dest中存在,此時返回src在dest中的起始位置slow即可。

若兩者內容不相同,則slow指標後移,p指標重新指向src開頭,再使fast與slow相等,進行新一輪的遍歷。

4. 若slow遍歷完dest字串,都未找到src,則說明src在dest中不存在,則返回null。

**如下:

主函式**:

執行結果:

模擬實現字串庫函式

1.strcat 1 函式功能 實現兩個字串的連線 2 思想 首先遍歷目標字串,找到 0 的位址,然後將資源字串通過指標一次一次的拼接在目標字串後面,直到指標走到資源字串的 0 3 char mystrcat char strdestination,const char strsource whil...

字串模擬實現

1.三種方式模擬實現strlen函式。方法1 用計數器模擬實現 define crt secure no warnings include include include include int mystrlen char str return ret int main printf 請輸入字串 n...

字元函式和字串函式的模擬實現

strlen 算字串的長度 size t strlen const char str 1.模擬實現strlen include include intmy strlen const char p return count int main strcpy 字串拷貝 char strcpy char d...