strlen函式的實現

2021-08-22 03:28:04 字數 1181 閱讀 3056

求字串長度,strlen函式

strlen要找到\0停下來,返回的長度不包括\0

#include"stdio.h"

#include"stdlib.h"

#include"assert.h"

//(1)建立臨時變數;用計數器;

int my_strlen(char * str)//用指標接受,找\0

return count;

}int main()

(2)不建立臨時變數,用遞迴形式

不容許建立臨時變數,

int my_strlen(const char *str)//str只是移動,並未改變其指向

內容else

return 0;

}/*my_strken(arrgth),判斷第乙個字元是否為\0,若不是,

則1+my_strlen(rrgth),再判斷,若不是,

則1+1+my_strlen(rgth),再判斷,若不是,

則1+1+1+my_strlen(gth) 再判斷,若不是,

則1+1+1+1+my_strlen(th) 再判斷,若不是,

1+1+1+1+1+my_strlen(h)

1+1+1+1+1+1+my_strlen(\0)

*/int main()

(3)用指標來求字串長度,strlen()

#define  _crt_secure_no_warnings 1

#include"stdio.h"

#include"stdlib.h"

#include"assert.h"

int my_strlen(const char *str)//不改變str指向的值

return str - start;//指標相減為之間內容的個數;

}

//若改為以下內容:

int my_strlen(const char *str)//不改變str指向的值

return str - start - 1;//指標相減為之間內容的個數 ;str-start由於str跳後乙個,則需+1

}int main()

strlen函式的實現

strlen函式作為乙個在面試經常被問到的問題,相信在不少求職的面經經歷中都有強調 首先看一下strlen函式的作用和基本的作用 計算字串的長度而不包括結束志 0 由此我們又可以聯想到與他相類似的相對應的另乙個關鍵字sizeof 計算字串的長度,且包括結束標誌 0 在此我只是提一下sizeof,下面...

strlen函式實現

函式功能 統計字串中的字元個數。很簡單,直接設乙個變數,並遍歷即可。int strlen const char str 但如果不讓使用中間變數呢?函式執行過程中不占用記憶體基本不可能,除非都使用了暫存器。不使用中間變數 只是說程式設計師不能顯示的申請記憶體而已,即不能有區域性變數或者動態記憶體申請。...

strlen函式的多種實現方式

strlen函式檢測字串實際長度,不包含 0 如 char s 1234567 int a strlen s a 7 可認為strlen char 檢測的是 0 strlen char 碰到 0 就返回 0 以前的字元數。include include include includeint my s...