求字串長度,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...