C語言 實現strlen函式

2021-08-19 08:38:31 字數 618 閱讀 2187

首先要明確strlen函式的意義:

strlen所從事的是乙個計數器的工作,它是用來計算字串的長度。它可以從字串的任意位置開始計數,直至碰到字串末尾的『/0』結束計數工作。

第一種方式:

設定乙個計數器count,從字串開始計數,直至碰到字串末尾的『/0'結束計數工作。

int my_strlen(const char * str)

return count;

}第二種方式:

用函式的遞迴實現。如果碰到空字串則返回0,否則採用遞迴的方式將問題細化進行求解。解決問題的思想如下:好比求解『12345678』的長度就相當於求解1+『2345678』的長度,而1+『345678』的長度,如此將問題規模不斷縮小進行求解。採用遞迴的方式解決。

int my_strlen(const char * str)

第三種方式

用指標的方式實現,思想為:設立乙個頭結點,遍歷整個字串後得到尾指標,而尾指標與頭指標的差正好為字串間的元素個數。

int my_strlen(const char * str)

{char *p = s;

while (*p != '\0')

p++;

return p - s;

C語言實現strlen函式的幾種方法

傳說常見的乙個筆試題 不使用中間變數求const字串長度,即實現求字串長度庫函式strlen函式。函式介面宣告如下 int strlen const char p 思路分析 在字串中通常可以利用最後乙個結束符 0 但此處引數為const,唯讀,那麼我們不能打他的主意。函式執行過程中不占用記憶體基本不...

c語言 遞迴實現strlen 函式

不使用任何系統函式編寫strlen 函式 遞迴實現strlen函式 include 不使用任何系統函式編寫strlen 函式 遞迴實現strlen函式 int my strlen const char strdest void main 確定函式傳遞過來的位址上的記憶體儲存的是否是 0 如果是 表明...

C語言strlen 函式

strlen 函式 該函式從第乙個字元開始計算字串中字元數,直到遇到空字元即 0 為止,然後返回計算字元數的長度,包括 0 以下是strlen 函式 如下 include include int main void 列印結果 分析 helloworld 0 hi共計13個字元,然而列印出來的結果卻只...