C語言中字符串長(zhǎng)度的函數(shù)是strlen(),一個(gè)字符的長(zhǎng)度為1;
創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營(yíng)銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營(yíng)銷需求!創(chuàng)新互聯(lián)具備承接各種類型的網(wǎng)站建設(shè)、成都網(wǎng)站制作項(xiàng)目的能力。經(jīng)過10年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。
函數(shù)原型:
unsigned int strlen (char *s);頭文件:
#include string.h參數(shù)說明:s為指定的字符串;
功能說明:strlen()用來計(jì)算指定的字符串s 的長(zhǎng)度,不包括結(jié)束字符'\0';
返回值:返回字符串s 的字符數(shù);
注意:strlen() 函數(shù)計(jì)算的是字符串的實(shí)際長(zhǎng)度,遇到第一個(gè)'\0'結(jié)束。
示例:
#includestdio.h#includestring.hint main(){ char str[] = "ab\nxyz";//\n為回車字符,占一個(gè)字節(jié) printf("strlen(str)=%d\n", strlen(str)); return 0;}//輸出結(jié)果:strlen(str)=6 收起
正確的答案是5,題目選項(xiàng)有誤。
首先strlen()函數(shù)返回的長(zhǎng)度是不包含'\0',
第一個(gè)字符為:a
第二個(gè)字符為:b
第三個(gè)字符為:\n (換行符)
第四個(gè)字符為:2
第五個(gè)字符為:\ (\\轉(zhuǎn)義為\)
所以答案為5。
(下圖為實(shí)際代碼演示)
擴(kuò)展內(nèi)容:
strlen()函數(shù)(C語言函數(shù)):
strlen所作的僅僅是一個(gè)計(jì)數(shù)器的工作,它從內(nèi)存的某個(gè)位置(可以是字符串開頭,中間某個(gè)位置,甚至是某個(gè)不確定的內(nèi)存區(qū)域)開始掃描,直到碰到第一個(gè)字符串結(jié)束符'\0'為止,然后返回計(jì)數(shù)器值(長(zhǎng)度不包含'\0')。
參考資料:strlen函數(shù) - 百科
C語言計(jì)算字符串長(zhǎng)度,可以手動(dòng)計(jì)算也可以使用庫函數(shù)或者sizeof()操作符。
方法:
自定義函數(shù)求長(zhǎng)度
使用strlen()函數(shù)
使用sizeof()操作符
自定義函數(shù):
int cont_str(char *s)
{
int i = 0; ? ?
while ( str[i++] != '\0')? ?;
return i;
}
使用string頭文件中的strlen()函數(shù):
strlen(str); //假設(shè)str為待求的字符串?dāng)?shù)組名
使用sizeof()操作符:
sizeof(str)/sizeof(str[0]); //假設(shè)str為待求的字符串?dāng)?shù)組名
注意:
strlen()函數(shù)求出的字符串長(zhǎng)度為有效長(zhǎng)度,既不包含字符串末尾結(jié)束符 ‘\0’;
sizeof()操作符求出的長(zhǎng)度包含字符串末尾的結(jié)束符 ‘\0’;
當(dāng)在函數(shù)內(nèi)部使用sizeof()求解由函數(shù)的形參傳入的字符數(shù)組的長(zhǎng)度時(shí),得到的結(jié)果為指針的長(zhǎng)度,既對(duì)應(yīng)變量的字節(jié)數(shù),而不是字符串的長(zhǎng)度,此處一定要小心。
網(wǎng)頁標(biāo)題:c語言中字符長(zhǎng)度函數(shù) c語言中字符的長(zhǎng)度
當(dāng)前網(wǎng)址:http://jinyejixie.com/article30/doscoso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、軟件開發(fā)、、標(biāo)簽優(yōu)化、外貿(mào)建站、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)