程式設計師面試寶典上有道題目:
請寫寫乙個函式模擬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 否則 ...