編寫乙個C語言程式模擬實現strlen函式

2021-10-07 19:04:50 字數 773 閱讀 4566

strlen函式功能是計算字串中字元的個數.(除\0外)

而字串本身就是乙個字元陣列,只不過末尾以\0結束.

因此,我們只需遍歷除\0之外的所有字元即可.

有三種方法可以解決這個問題.

方法一:設定乙個整型計數器,遍歷字串.

方法二:通過不斷函式自身的遞迴.

方法三:與方法一類似,設定乙個char*變數標記字串尾部,通過指標相減得到字元長度.

#include //方法一:通過設定整型計數器,模擬實現strlen函式.

int my_strlen1(const char *str)

return count;

}//方法二:通過遞迴,模擬實現strlen函式

int my_strlen2(const char *str)

return 0;

}//方法三:通過char*變數,模擬實現strlen函式

//(庫函式中的strlen函式就是這麼幹的)

int my_strlen3(const char *str)

return (end-str-1);

}int main()

/*#include size_t strlen(const char *s);

功能:計算字串長度

引數: s:字元陣列

返值:返回字串實際長度,不包括『\0』在內

```c

int my_strlen(const char *s)

```*/

如何模擬實現乙個call apply bind函式

call模擬實現 首先我們實現繫結this功能。比如我們有乙個foo函式 function getname 還有乙個wechat物件 const wechat 我們希望實現 getname.call wechat fedaily以wechat和getname這個為例,這裡的this即getname,...

C語言 模擬實現memcpy

模擬實現記憶體拷貝函式memcpy 該特點與strcpy 比較就是不管是不是string型別均可以比較,只是單純記憶體的比較。void my memcpy void p1,const void p2,size t count char dest char p1 char src char p2 si...

C語言模擬實現strncpy strcat

模擬實現strncpy 先演示一下strncpy的效果 如下 include include void main void 執行結果 通過以上演示可以看出,strncpy實現的是用乙個固定的字串去替換原字串中的某段字元,可以設定乙個迴圈,來實現字元的替換,如果它只有乙個字元要替換,則迴圈執行一次,設...