strstr(str1,str2) 函數用於判斷字串str2是否是str1的子串。 如果是, 則該函數返回str2在str1中首次出現的地址;否則, 返回NULL。
自訂相同功能的函數, 達到如下效果:
代碼:
使用二重迴圈實現字串匹配。
關鍵在於理解各指標的指向。 有四個指標(看下圖), str2始終不動, 外迴圈控制str1, 內迴圈控制src、sub指標。
1 字串的初始化狀態:
2 執行第一次外迴圈:
3 執行第二次外迴圈:
4 執行第三次外迴圈:
5 執行第四次次處迴圈:
原始程式碼:
#include "stdio.h"
#include "string.h"
char *mystrstr(const char *str1, const char *str2)
{
char *src,*sub;
if(str1 == NULL || str2 == NULL)
{
printf("The string is error! ");
exit(0);
}
while(*str1 != '