strstr函式的對比

2021-07-04 10:07:29 字數 862 閱讀 3627

程式設計師面試寶典上有道題目:

請寫寫乙個函式模擬c++中的strstr()函式。

strstr() 函式搜尋乙個字串在另乙個字串中的第一次出現。找到所搜尋的字串,則該函式返回第一次匹配的字串的位址;如果未找到所搜尋的字串,則返回null。

const char * strstr1(const char *string,const char * strcharset)

i=temp;

} }return null;

}char *strstr2(char*s1,char*s2)while(*s1)

s1++;

}return (char*)null;

}

上述**具有查錯功能。

當s1為空字串,s2不為空字串,函式返回null。

當s1為空字串,s2為空字串,函式返回s1的位址。

外層while迴圈沒進行一次,s1的值加1。

內層while迴圈實現比較字元換元素的功能,當元素相同的時候,繼續比較下乙個元素直到

當s2達到『\0』時,則返回此時s1的值。一旦元素不同,則使用break語句跳出內層while迴圈。

上述兩種strstr函式的寫法雖然形式上看來有些不同,但是分析下來,整個思路是相同,萬變不離其宗。

測試函式:

strstr函式的用法

strstr str1,str2 函式用於判斷字串str2是否是str1的子串。如果是,則該函式返回str2在str1中首次出現的位址 否則,返回null。包含檔案 string.h 函式名 strstr 函式原型 1 externchar strstr char str1,constchar st...

strstr函式的實現

自己實現c語言中的strstr函式,採用字元乙個乙個進行匹配,如果不等,則從下乙個位置進行匹配。strstr 實現 char mystrstr const char dest,const char src 上面迴圈完畢,有如下3種情況 if tsrc if tdest 走到這裡,沒有匹配成功,繼續從...

實現strstr函式

題目 給定兩個兩個字串 str1和str2 str1是否包含str2 若包含則返回字串出現的第乙個位置 錯誤返回 1 示例1 輸入 str1 hello str2 ll 輸出 2 思路 1 判斷兩個字串長度大小 2 判斷兩個字串是否為空 3 前兩個都通過後,如果str1 i str2 j j 否則 ...