C語言基礎(chǔ) strlen 函數(shù)
一.strlen 函數(shù)簡介
在C 語言中,char
字符串也是一種非常重要的數(shù)據(jù)類型,我們可以使用 strlen
函數(shù)獲取字符串長度;
字符串: 一般用一對(duì)雙引號(hào)" "
括起的一串字符來表示字符串常量,字符串默認(rèn)以轉(zhuǎn)義字符 '\0'
結(jié)尾,字符串常量是不可被修改的;
strlen
函數(shù) 會(huì)掃描整個(gè)字符串,直到碰到第一個(gè)字符串結(jié)束符 '\0'
為止,然后返回計(jì)數(shù)器值(長度不包含 '\0'
);
/* *描述: * [in] s:字符串 * *返回值:返回字符串s的長度,注意不包括 \0 */ int strlen(char *s);
注意: strlen 函數(shù)返回的長度是不包括 '\0',而 sizeof 函數(shù)返回的長度包括'\0',所以在獲取字符串長度的時(shí)候, strlen 函數(shù)返回值要比 sizeof 函數(shù)少一個(gè)字節(jié);
二.strlen 函數(shù)實(shí)戰(zhàn)
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個(gè)人博客地址): www.codersrc.com //@File:C語言教程 - C語言 strlen 函數(shù) //@Time:2021/06/02 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! /******************************************************************************************/ #include "stdafx.h" #include<stdlib.h> #include<stdio.h> void main() { char* p = "www.codersrc.com"; printf("字符串:%s 長度:%d\n", p,strlen(p)); char* p1 = "www"; printf("字符串:%s 長度:%d\n", p1, strlen(p1)); char* p2 = "0123456789"; printf("字符串:%s 長度:%d\n", p2, strlen(p2)); char* p3 = "01234\0 56789"; printf("字符串:%s 長度:%d\n", p3, strlen(p2)); system("pause"); }
輸出:
字符串:www.codersrc.com 長度:16
字符串:www 長度:3
字符串:0123456789 長度:10
字符串:01234 長度:5
請(qǐng)按任意鍵繼續(xù). . .
注意最后一行代碼,strlen
函數(shù)獲取到的字符串長度并不是 10
,strlen
函數(shù)獲取字符串長度時(shí)到 '\0'
就結(jié)束了!
到此這篇關(guān)于C語言基礎(chǔ) strlen 函數(shù)的文章就介紹到這了,更多相關(guān)C語言strlen 函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(100.判斷相同樹)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(100.判斷相同樹),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07vs2019 MFC實(shí)現(xiàn)office界面的畫圖小項(xiàng)目
本文主要介紹了vs2019 MFC實(shí)現(xiàn)office界面的畫圖小項(xiàng)目,對(duì)大家入門有一定的幫助,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06Qt進(jìn)程和線程QProcess和QThread的使用
本文主要介紹了Qt進(jìn)程和線程QProcess和QThread的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06C語言實(shí)現(xiàn)直角坐標(biāo)轉(zhuǎn)換為極坐標(biāo)的方法
這篇文章主要介紹了C語言實(shí)現(xiàn)直角坐標(biāo)轉(zhuǎn)換為極坐標(biāo)的方法,涉及C語言進(jìn)行三角函數(shù)與數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-09-09C++超詳細(xì)分析單鏈表的實(shí)現(xiàn)與常見接口
鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的,本章帶你分析單鏈表的實(shí)現(xiàn)與常見接口2022-03-03c/c++獲取系統(tǒng)時(shí)間函數(shù)的方法示例
這篇文章主要介紹了c/c++獲取系統(tǒng)時(shí)間函數(shù)的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02C語言匯編分析傳遞結(jié)構(gòu)體指針比傳遞結(jié)構(gòu)體變量高效的深層原因
本文章使用的工具是vs2010,本篇文章主要講解結(jié)構(gòu)體指針作為參數(shù)傳遞與結(jié)構(gòu)體變量作為參數(shù)傳遞的對(duì)比,不談值傳遞與址傳遞的概念2022-10-10