正確的答案是5,題目選項有誤。
成都網(wǎng)絡公司-成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)十年經(jīng)驗成就非凡,專業(yè)從事成都網(wǎng)站設(shè)計、成都網(wǎng)站制作,成都網(wǎng)頁設(shè)計,成都網(wǎng)頁制作,軟文推廣,廣告投放平臺等。十年來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:18980820575,我們期待您的來電!
首先strlen()函數(shù)返回的長度是不包含'\0',
第一個字符為:a
第二個字符為:b
第三個字符為:\n (換行符)
第四個字符為:2
第五個字符為:\ (\\轉(zhuǎn)義為\)
所以答案為5。
(下圖為實際代碼演示)
擴展內(nèi)容:
strlen()函數(shù)(C語言函數(shù)):
strlen所作的僅僅是一個計數(shù)器的工作,它從內(nèi)存的某個位置(可以是字符串開頭,中間某個位置,甚至是某個不確定的內(nèi)存區(qū)域)開始掃描,直到碰到第一個字符串結(jié)束符'\0'為止,然后返回計數(shù)器值(長度不包含'\0')。
參考資料:strlen函數(shù) - 百科
C語言中,計算字符串長度的函數(shù)為strlen。
1 形式:
int strlen(const char *s);
2 頭文件:
string.h
3 功能:
計算字符串s的長度,并返回。
C語言計算字符串長度,可以手動計算也可以使用庫函數(shù)或者sizeof()操作符。
方法:
自定義函數(shù)求長度
使用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為待求的字符串數(shù)組名
使用sizeof()操作符:
sizeof(str)/sizeof(str[0]); //假設(shè)str為待求的字符串數(shù)組名
注意:
strlen()函數(shù)求出的字符串長度為有效長度,既不包含字符串末尾結(jié)束符 ‘\0’;
sizeof()操作符求出的長度包含字符串末尾的結(jié)束符 ‘\0’;
當在函數(shù)內(nèi)部使用sizeof()求解由函數(shù)的形參傳入的字符數(shù)組的長度時,得到的結(jié)果為指針的長度,既對應變量的字節(jié)數(shù),而不是字符串的長度,此處一定要小心。