C語言中字符串長度的函數(shù)是strlen(),一個字符的長度為1;
專注于為中小企業(yè)提供網(wǎng)站設(shè)計、成都網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)新密免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
函數(shù)原型:
unsigned int strlen (char *s);
頭文件:
#include string.h
參數(shù)說明:s為指定的字符串;
功能說明:strlen()用來計算指定的字符串s
的長度,不包括結(jié)束字符'\0';
返回值:返回字符串s
的字符數(shù);
注意:strlen()
函數(shù)計算的是字符串的實際長度,遇到第一個'\0'結(jié)束。
示例:
#includestdio.h
#includestring.h
int main()
{
char str[] = "ab\nxyz";//\n為回車字符,占一個字節(jié)
printf("strlen(str)=%d\n", strlen(str));
return 0;
}
//輸出結(jié)果:strlen(str)=6
思路:因為字符串都是以'\0'作為結(jié)束標(biāo)志,所以可以從字符串的第一個位置開始遍歷,直到出現(xiàn)'\0'停止遍歷,并每次下標(biāo)后移,字符串的長度加1,最后返回字符串長度。
參考代碼:
#include?"stdio.h"?
int?strlen(char?*s){//求字符串長度函數(shù)?
int?n;
for(n=0;s[n]!='\0';n++);
return?n;
}?
int?main()?{
char?a[100];
gets(a);?
printf("%d\n",strlen(a));
return?0;
}
/*
運行結(jié)果:
wqerqew
7?
*/
1、在c語言中,可以通過庫函數(shù)strlen來計算字符串的長度,也可以通過循環(huán)計數(shù)來求取字符串長度。
函數(shù)原型:unsigned
int
strlen(char
*str);
功
能:統(tǒng)計字符串str中字符的個數(shù),不包含'\0'
返
回
值:返回字符個數(shù)
2、用strlen函數(shù)實現(xiàn):
char str[20];
int len; // 保存數(shù)組的長度
scanf("%s", str);
len = strlen(str); // 計算字符數(shù)組str的長度
注:需將頭文件#include
添加進(jìn)源文件中。3、用循環(huán)來實現(xiàn):
char str[20];
int len=0; // 保存數(shù)組的長度
scanf("%s", str);
while(str[len] != '\0') // 未檢測到結(jié)束字符
{
len++; // 統(tǒng)計字符數(shù)組str的長度
}
第1個輸出是8
10。sizeof運算符得到的是數(shù)組的占用字節(jié)的大小,在定義數(shù)組a的時候沒有指明大小,編譯器根據(jù)初始化的內(nèi)容來決定a的大小,"abcdefg"是個字符串,連同表示字符串結(jié)束的'\0'共有8個字符,1個字符類型占用1個字節(jié),所以sizeof(a)是8。在定義數(shù)組b的時候已經(jīng)指明了大小,所以sizeof(b)是10。
第2個輸出是5
20。strlen函數(shù)是計算字符串的長度,字符串以'\0'表示結(jié)束,所以strlen在遇到hello后面的'\0'時就會返回。sizeof跟第1個問題一樣。
分享文章:c語言中計算長度的函數(shù)是 c語言中長度是什么意思
文章鏈接:http://jinyejixie.com/article18/dopssdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、營銷型網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、Google、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)