最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中strlen()函數的使用詳解

 更新時間:2024年02月01日 14:46:35   作者:不會算法的笨小孩  
strlen函數是用來求字符串長度的函數,這個函數遇到‘\0’就會停止,且這個長度不包含‘\0’,這篇文章給大家介紹了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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言中棧的大小設置方式

    C語言中棧的大小設置方式

    文章介紹了C語言中局部變量存儲在棧中,并討論了避免棧溢出和優(yōu)化棧使用的方法,在STM32開發(fā)中,可以通過修改啟動文件或使用STM32CubeMX來設置棧和堆的大小,同時,通過查看生成的.map文件或.htm文件,可以了解棧的使用情況并進行優(yōu)化
    2026-02-02
  • C語言逆向分析語法超詳細分析

    C語言逆向分析語法超詳細分析

    這篇文章主要介紹了C語言逆向分析語法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-11-11
  • C++索引越界的解決方法

    C++索引越界的解決方法

    本文主要介紹了C++索引越界的解決方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C語言模擬實現字符串庫函數的示例講解

    C語言模擬實現字符串庫函數的示例講解

    這篇文章主要為大家詳細介紹了C語言模擬實現字符串庫函數的具體方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • C語言如何實現頭插法建立單鏈表

    C語言如何實現頭插法建立單鏈表

    這篇文章主要介紹了C語言實現頭插法建立單鏈表的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 一起來看看C語言線性表的線性鏈表

    一起來看看C語言線性表的線性鏈表

    這篇文章主要為大家詳細介紹了C語言線性表的線性鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C++STL函數和排序算法的快排以及歸并排序詳解

    C++STL函數和排序算法的快排以及歸并排序詳解

    這篇文章主要為大家詳細介紹了C++STL函數和排序算法的快排以及歸并排序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 用C++實現隊列的程序代碼

    用C++實現隊列的程序代碼

    本篇文章是對使用C++實現隊列的程序代碼進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言求矩陣主對角線元素及副對角線元素之和

    C語言求矩陣主對角線元素及副對角線元素之和

    這篇文章主要介紹了C語言求矩陣主對角線元素及副對角線元素之和實例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • C語言版三子棋游戲實現代碼

    C語言版三子棋游戲實現代碼

    這篇文章主要為大家詳細介紹了C語言版三子棋游戲的實現代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論

聊城市| 新郑市| 福清市| 德昌县| 乌鲁木齐市| 河东区| 恩平市| 雅安市| 盐边县| 香港 | 乡城县| 汝南县| 砀山县| 波密县| 美姑县| 三亚市| 江陵县| 丰顺县| 九龙县| 华安县| 武清区| 黄平县| 武平县| 时尚| 景谷| 金秀| 辽阳市| 科技| 鹤峰县| 新晃| 大邑县| 厦门市| 龙陵县| 友谊县| 略阳县| 林甸县| 宜章县| 伊宁县| 齐河县| 金华市| 建德市|