C語言中strlen()函數的使用詳解
1、strlen函數的各個參數介紹
size_t strlen (const char* str)

①函數名為strlen
②返回值類型為size_t,這是一個無符號的類型,可能是整型,也可能是長整型。
③函數的參數是一個字符類型的數組,這個數組用char*類型來接收,且這個數組內容不能被修改。
2、strlen函數的作用
strlen函數是用來求字符串長度的函數,這個函數遇到‘\0’就會停止,且這個長度不包含‘\0’。
如,字符串“abcd\0ef”,這個字符串的長度為4,遇到'\0'之后就不再數了,且長度不包含‘\0’。

3、易錯處分析
①返回值類型為無符號整數,這就使得我們在使用時會出現一種情況,見代碼如下:
#include<stdio.h>
#include<string.h>
int main()
{
if (strlen("abc") - strlen("abcdef") >= 0)
printf(">=\n");
else
printf("<\n");
return 0;
}通過代碼,我們可能覺得這個打印的是“<”,但是,strlen函數返回的是無符號整數,無符號整數-無符號整數還是無符號整數,無符號整數是永遠>=0的,所以打印的會是">="。運行結果如下:

4、模擬實現
①方法一:計數器
size_t my_strlen1(const char* ch)
{
size_t count = 0;
while (*ch)
{
count++;
ch++;
}
return count;
}②方法二:遞歸
size_t my_strlen2(const char* ch)
{
if (*ch == '\0')
return 0;
return my_strlen2(ch + 1) + 1;
}③方法三:指針-指針
size_t my_strlen3(const char* ch)
{
char* p = ch;
while (*p)
{
p++;
}
return p - ch;
}到此這篇關于C語言中strlen()函數的使用詳解的文章就介紹到這了,更多相關C語言strlen()函數使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

